1. Trang chủ
  2. » Công Nghệ Thông Tin

Lập trình C trên Win doc

33 321 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Lập Trình C Trên Windows
Trường học University of Science and Technology of Hanoi
Chuyên ngành Computer Programming
Thể loại Văn bản hướng dẫn
Thành phố Hà Nội
Định dạng
Số trang 33
Dung lượng 172,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trỡnh AppWizard seừ táo ra caực lụựp ủoỏi tửụùng daĩn xuaỏt tửứ caựclụựp ủoỏi tửụùng cụ sụỷ Application classes, Document classes, ViewClasses vaứFrames classes Vớ dú: Lụựp cụ sụỷ Lụựp d

Trang 1

L p trình C trên ậ

Win

Trang 2

Ùng dúng Single Document:

Vớ dú táo moọt ửựng dúng tẽn vidu1 kieồu single document baống trỡnh

AppWizard Trỡnh AppWizard seừ táo ra caực lụựp ủoỏi tửụùng daĩn xuaỏt tửứ caựclụựp ủoỏi tửụùng cụ sụỷ Application classes, Document classes, ViewClasses vaứFrames classes

Vớ dú:

Lụựp cụ sụỷ Lụựp daĩn xuaỏt Tẽn taọp tin Ghi chuự

CWinApp Cvd1App Vd1.cpp

CDocument Cvd1Doc Vidu1Doc.cpp

CView Cvd1View Vidu1View.cpp

CFrameWnd CmainFrame MainFrm.cpp

CMDIChildWnd CchildFrame ChildFrm.cpp

 Taọp tin RESOURCE.H

Taọp tin naứy chửựa toaứn boọ nhửừng leọnh #define duứng ủũnh nghúa chổdanh ID nhửừng taứi nguyẽn nhử laứ:

DD_ABOUTBOX: ẹoỏi vụựi taứi nguyẽn laứ moọt hoọp hoọi thoái about boxIDR_MAINFRAME: ẹoỏi vụựi vieọc chia seỷ sửỷ dúng bụỷi nhiều loái taứinguyẽn

IDR_VIDU1TYPE : ẹoỏi vụựi taứi nguyẽn laứ bieồu tửụùng taứi lieọu

Coứn caực haống _APS_3D_xxxx vaứ _APS_NEXT_xxxx khaực khõng trửùc

tieỏp ủửụùc sửỷ dúng bụỷi caực taọp tin taứi nguyẽn khaực Taọp tin naứy seừ ủửụùcsửỷ dúng bụỷi taọp tin Vidu1.RC

Noọi dung taọp tin RESOURCE.RC

//{{NO_DEPENDENCIES}}

// Microsoft Visual C++ generated include file.

Trang 3

 Taọp tin Vidu1.H

Taọp tin tiẽu ủề Vidu1.H chửựa caực khai baựo liẽn quan ủeỏn lụựpCvidu1App laứ lụựp ửựng dúng Cvidu1 Cvidu1App laứ theồ hieọn (instance) chửụngtrỡnh ửựng dúng Vidu1 Lụựp naứy ủửụùc daĩn xuaỏt tửứ lụựp CwinApp

Class Cvidu1App : public CwinApp {

CwinAppp ( Class Windows Application) theo sụ ủồ dửựụi ủãy:

CObject

CCmdTarget

CWinThread

CWinApplaứ haọu dueọ cuỷa lụựp CCmdTarget lo vieọc quaỷn lyự nhửừng cõng vieọcủửụùc ủoứi hoỷi ủeồ khụỷi ủoọng ửựng dúng cuừng nhử ủeồ cho cháy vaứ keỏtthuực ửựng dúng MFC Nhử sụ ủồ trẽn CWinApp ủửụùc daĩn xuaỏt tửứ moọtchuoĩi lụựp CWinThread, CcmdTarget vaứ CObject Trong vớ dú Cvidu1App laứgiao dieọn vụựi Windows Khi moọt tỡnh huoỏng xaỷy ra trong Windows thỡ thõngủieọp seừ gụỷi ủeỏn chửụng trỡnh Cvidu1App ủeồ cho noự bieỏt ủửụùc caựi gỡ xaỷy

ra Vớ dú neỏu moọt phớm ủửụùc nhaỏn, thỡ thõng ủieọp WM_KEYDOWN seừủửụùc phaựt ra vaứ chuyeồn cho Cvidu1App vaứ ủeỏn phiẽn chửụng trỡnh seừ khụỷiủoọng haứm giaỷi quyeỏt vaỏn ủề naứy laứ OnKeyDown()

// Vidu1.h : main header file for the VIDU1 application

#if!

defined(AFX_VIDU1_H B682FE11_E54B_4D80_A49B_3C3AEAE1FF85_ _INCLUDED_)

#defineAFX_VIDU1_H B682FE11_E54B_4D80_A49B_3C3AEAE1FF85 INCLUDED_

#if _MSC_VER > 1000

#pragma once

Trang 4

#endif // _MSC_VER > 1000

#ifndef AFXWIN_H

#error include 'stdafx.h' before including this file for PCH

#endif #include "resource.h" // main symbols

/////////////////////////////////////////////////////////////////////////////

// CVidu1App:

// See Vidu1.cpp for the implementation of this class

// class CVidu1App : public CWinApp

//{{AFX_MSG(CVidu1App) afx_msg void OnAppAbout();

// NOTE - the ClassWizard will add and remove member functions here.

// DO NOT EDIT what you see in these blocks of generated code !

//}}AFX_MSG DECLARE_MESSAGE_MAP() };

Trong lụựp ủoỏi tửụùng coự khai baựo caực haứm constructor CVidu1App(),haứm thaứnh vieõn bũ phuỷ quyeỏt InitInstance() vaứ OnAppAbout() Vieọc ủũnhnghúa ủửụùc thửùc hieọn trong taọp tin Vidu1.cpp

AppWizard cho haứm OnAppAbout() naốm giửừa caởp chuự giaỷi ủaởc bieọt:

Trang 5

Múc vaứo naứy bao giụứ cuừng baột ủầu bụỷi afx_msg void theo sau laứ tẽn haứmgiaỷi quyeỏt thõng ủieọp bao giụứ cuừng baột ủầu bụỷi On.

Caởp chuự giaỷi {{AFX_MSG … }}AFX_MSG seừ tửụng ửựng vụựi caởpchuự giaỷi {{AFX_MSG_MAP … }} AFX_MSG_MAP trong taọp tin Vidu1.cpp

Haứm chuự giaỷi maứ ClassWizard sửỷ dúng ủeồ phuỷ quyeỏt haứm virtualnhử InitIntance() seừ sửỷ dúng macro AFX_VIRTUAL nhử sau:

//{{AFX_VIRTUAL(CVidu1App) public:

virtual BOOL InitInstance();

//}}AFX_VIRTUAL

AFX_VIRTUAL duứng ủaựnh daỏu khụỷi ủầu vaứ keỏt thuực nhửừng khaibaựo cuỷa caực haứm virtual maứ ClassWizard seừ phuỷ quyeỏt trong taọp tin H cuỷalụựp

Cuoỏi cuứng taọp tin khai baựo lụựp naứy laứ doứng macro

DECLARE_MESSAGE_MAP() baựo cho bieỏt laứ trẽn taọp tin CPP seừ coự phần

ủũnh nghúa moọt “baỷn ủồ thõng ủieọp” (message map) liẽn quan ủeỏn caực haứmgiaỷi quyeỏt thõng ủieọp baột ủầu bụỷi macro BEGIN_MESSAGE_MAP vaứ keỏtthuực bụỷi macro END_MESSAGE_MAP nhử sau:

 Taọp tin STDAFX.H

Taọp tin STDAFX.H chuỷ yeỏu include 3 taọp tin AFXWIN.H , AFXEXT.Hvaứ AFXDISP.H Caực leọnh naứy baỷo ủaỷm laứ ửựng dúng coự theồ duứngnhửừng lụựp trong caực taực vú chuaồn vaứ nụựi roọng cuừng nhử lụựp liẽn quanủeỏn ActiveX Control (OLE)

#if!

defined(AFX_STDAFX_H 0CF6915F_3416_4CE6_AE4D_815051CD1243 INC LUDED_)

Trang 6

#defineAFX_STDAFX_H 0CF6915F_3416_4CE6_AE4D_815051CD1243_ _INCLUDED_

#if _MSC_VER > 1000

#pragma once

#endif // _MSC_VER > 1000

#define VC_EXTRALEAN

#include <afxwin.h> // MFC core and standard components

#include <afxext.h> // MFC extensions

#include <afxdisp.h> // MFC Automation classes

 Taọp tin MainFrm.H

Taọp tin naứy chửựa caực khai baựo lieõn quan ủeỏn lụựp khung cửỷa soồchớnh (main frame) cuỷa ửựng duùng, CmainFrame Lụựp naứy laứ haọu dueọ cuỷalụựp CframeWnd Lụựp CmainFrame naứy xem nhử laứ theồ hieọn cửỷa soồ cuỷaửựng duùng ủoỏi theỏ giụựi beõn ngoaứi

#if!

defined(AFX_MAINFRM_H D2F0152D_93B3_4329_97B6_5DCED9B39D00 I NCLUDED_)

#define

AFX_MAINFRM_H D2F0152D_93B3_4329_97B6_5DCED9B39D00 INCLUD ED_

Trang 7

virtual void Dump(CDumpContext& dc) const;

// NOTE - the ClassWizard will add and remove member functions here.

// DO NOT EDIT what you see in these blocks of generated code! //}}AFX_MSG

DECLARE_MESSAGE_MAP() };

Lụựp CmainFrame ủửụùc daĩn xuaỏt tửứ lụựp cụ sụỷ CframeWnd, vỡ ủãy laứửựng dúng SDI chổ laứm vieọc vụựi moọt taứi lieọu trong moọt luực Phần khaibaựo gồm:

- Haứm khụỷi táo protected CMainFrame() haứ haứm huyỷ ~CMainFrame()

- Haứm thaứnh viẽn CObject::AssertValid() duứnh kieồm tra hụùp leọ ủoỏitửụùng vaứo luực cháy baống caựch kieồm tra tỡnh tráng noọi tái Trongphiẽn baỷn Debug (khai baựo bụỷi _DEBUG) haứm naứy giaỷ ủũnh (assert)vaứ do ủoự coự theồ cho chaỏm dửựt chửụng trỡnh vụựi moọt thõng baựocho bieỏt soỏ thửự tửù doứng leọnh vaứ tẽn taọp tin neỏu giaỷ ủũnh naứykhõng truựng

- Haứm thaứnh viẽn CObject::Dump() duứng tuõn xoồ (dump) noọi dungủoỏi tửụùng khi gụừ roỏi

- Bieỏn thaứnh viẽn m_wndStatusbar thuoọc kieồu Cstatusbar duứng chửựatỡnh tráng cuỷa thanh tỡnh tráng

- Bieỏn thaứnh viẽn m_wndToolBar thuoọc kieồu CToolBar duứng chửựatỡnh tráng cuỷa thanh cõng cú

Trang 8

Ngoaứi ra lụựp coứn khai baựo moọt message map (thõng qua macroDECLARE_MESSAGE_MAP ụỷ cuoỏi phần khai baựo lụựp), cuừng nhử nhửừngchuự giaỷi {{AFX_MSG … }}AFX_MSG duứng laứm choĩ daứnh trửụực ủeồ cheứncaực haứm thaứnh viẽn giaỷi quyeỏt caực thõng ủieọp maứ coự theồ về sau seừthẽm vaứo sửỷ dúng ủeỏn trỡnh ClassWizard.

Ngoaứi ra lụựp naứy coứn trieọu gói:

- haứm afx_msg void OnCreate() ủeồ táo moọt cửỷa soồ cho pheựp ửựngdúng giaỷi quyeỏt caực thõng ủieọp Windows Caực haứm naứy baột ủầubụỷi afx_msg cho bieỏt laứ haứm giaỷi quyeỏt caực thõng ủieọp Windowsủaừ coự saỹn Vớ dú haứm afx_msg void OnCreate() seừ giaỷi quyeỏtthõng ủieọp Windows WM_CREATE táo moọt cửỷa soồ

- Haứm virtual BOOL PreCreateWindow() ủeồ laứm vieọc gỡ ủoự, trửụực khitáo moọt cửỷa soồ Windows ủửụùc gaộn cho ủoỏi tửụùng CWnd Coự theồoverride haứm naứy ủeồ thay ủoồi caỏu truực CREATESTRUCT trửụực khicửỷa soồ táo ra

Cuoỏi cuứng trong phần khai baựo lụựp laứ macro :

DECLARE_DYNCREATE(CMainFrame)Cho pheựp caực ủoỏi tửụùng thuoọc lụựp ủửụùc daĩn xuaỏt tửứ lụựp CObjectcoự theồ ủửụùc táo ủoọng (dynamic) vaứo luực cháy chửụng trỡnh Caực lụựpdocument, view vaứ frame ủều chũu hoĩ trụù vieọc táo ủoọng caực ủoỏi tửụùng,nẽn caực lụựp CVidu1Doc vaứ CVidu1View ủều coự macroDECLARE_DYNCREATE() naứy nhử :

- DECLARE_DYNCREATE(CVidu1Doc) trẽn taọp tin Vidu1Doc.h

- DECLARE_DYNCREATE(CVidu1View) trẽn taọp tin Vidu1View.h

Nhửừng haứm naứo naốm giửừa caởp chổ thũ #ifdef _DEBUG … #endif nhửlaứ

#ifdef _DEBUG virtual void AssertValid() const;

virtual void Dump(CDumpContext& dc) const;

#endif

Cho bieỏt laứ caực haứm naứy chổ hoát ủoọng khi chửụng trỡnh ủửụùc biẽndũch theo phiẽn baỷn debug duứng gụừ roỏi chửụng trỡnh Nhửng khi biẽn dũch theophiẽn baỷn Release (chửụng trỡnh ủaừ gụừ roỏi xong) ủeồ phãn phoỏi cho ngửụứisửỷ dúng thỡ caực haứm naứy seừ khõng naốm trong thaứnh phần chửụng trỡnhobject

 Taọp tin Vidu1View.H

Trang 9

Lụựp CVidu1View ủửụùc daón xuaỏt tửứ lụựp cụ sụỷ Cview View ủửụùc xemnhử laứ phaàn keỏt xuaỏt cuỷa chửụng trỡnh ra giaỏy hoaởc leõn maứn hỡnh.

#if!

defined(AFX_VIDU1VIEW_H D46CA8EC_3131_454A_A608_9CD3144E2B54 I NCLUDED_)

#defineAFX_VIDU1VIEW_H D46CA8EC_3131_454A_A608_9CD3144E2B 54 INCLUDED_

virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);

virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);

virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);

//}}AFX_VIRTUAL // Implementation

public:

virtual ~CVidu1View();

#ifdef _DEBUG

virtual void AssertValid() const;

virtual void Dump(CDumpContext& dc) const;

Trang 10

// NOTE - the ClassWizard will add and remove member functions here.

// DO NOT EDIT what you see in these blocks of generated code !

//}}AFX_MSG DECLARE_MESSAGE_MAP() };

#ifndef _DEBUG // debug version in Vidu1View.cpp

inline CVidu1Doc* CVidu1View::GetDocument()

Tửụng tửù nhử caực taọp tin tiẽu ủề khaực, taọp tin tiẽu ủề CVidu1View Hcoự caực haứm khụỷi táo CVidu1View(), haứm huyỷ ~CVidu1View(), haứm kieồmtra hụùp leọ AssertValid() vaứ haứm tuõn xoồ gụừ roỏi chửụng trỡnh Dump()

Vỡ lụựp View phaỷi ủóc taứi lieọu naứo ủoự ủeồ cho hieồn thũ (hoaởc in ) dửừkieọn, nẽn trong lụựp phaỷi khai baựo haứm CView::GetDocument() nhử sau:

Public:

CVidu1Doc* GetDocument();

Haứm naứy laỏy con troỷ chổ vaứo ủoỏi tửụùng taứi lieọu CVidu1Doc (lụựpnaứy ủửụùc daĩn xuaỏt tửứ CDocument) ủửụùc gaộn liền vụựi view Khi coự con troỷrồi thỡ lụựp naứy mụựi coự theồ truy xuaỏt caực haứm thaứnh viẽn cuỷa lụựp taứilieọu CVidu1Doc

Vỡ laứ view nẽn lụựp naứy phaỷi khai baựo haứm veừ hỡnh aỷnh taứi lieọu,ủoự laứ haứm virtual OnDraw() Ngoaứi ra trong vớ dú Vidu1 coự trỡnh ủụn File-Print, vaứ File- Print Preview nẽn lụựp naứy cuừng phaỷi khai baựo luõn haứmvirtual in aỏn nhử sau:

virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);

virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);

virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);

Taỏt caỷ caực haứm trẽn ủều sửỷ dúng ủeỏn moọt ủoỏi tửụùng CDC (thuoọcgiao dieọn ủồ hóa GDI) ủửụùc chổ về con troỷ pDC Khi tõ, veừ cần ủeỏn caựcbuựt veừ (pen) hoaởc có veừ (brush) vaứ ủãy laứ nhửừng taứi nguyẽn GDI

Trang 11

Taỏt caỷ caực haứm virtual trẽn ủều naốm trong caực chuự giaỷi{{AFX_VIRTUAL … }}AFX_VIRTUAL maứ ClassWizard seừ keỏt sinh ra.

Ngoaứi ra lụựp CVidu1View cuừng khai baựo message map (do macroDECLARE_MESSAGE_MAP ) vaứ chửựa choĩ saỹn cho ClassWizard thẽm baỏtcửự haứm thaứnh viẽn giaỷi quyeỏt caực thõng ủieọp, thõng qua caực haứnh chuựgiaỷi {{AFX_MSG … }} AFX_MSG Trong vớ dú hieọn chửa coự haứm giaỷiquyeỏt naứo caỷ

Cuoỏi cuứng laứ haứm inline caứi ủaởt haứm GetDocument () bao bóc bụỷichổ thũ trỡnh biẽn dũch #ifndef … #endif , vaứ chổ hieọn hửừu trong phiẽn baỷndebug

#ifndef _DEBUG // debug version in Vidu1View.cpp

inline CVidu1Doc* CVidu1View::GetDocument() { return (CVidu1Doc*)m_pDocument; }

#endif

 Taọp tin Vidu1Doc.H

Taọp tin naứy chửựa khai baựo liẽn quan ủeỏn taứi lieọu, taọp tin naứy khaibaựo lụựp CVidu1Doc thuoọc lụựp cụ sụỷ Cdocument

// Vidu1Doc.h : interface of the CVidu1Doc class

#if!

defined(AFX_VIDU1DOC_H D00A42EA_1136_4442_9C89_003869BBC74B I NCLUDED_)

#defineAFX_VIDU1DOC_H D00A42EA_1136_4442_9C89_003869BBC74 B INCLUDED_

Trang 12

virtual void Serialize(CArchive& ar);

//}}AFX_VIRTUAL // Implementation

public:

virtual ~CVidu1Doc();

#ifdef _DEBUG

virtual void AssertValid() const;

virtual void Dump(CDumpContext& dc) const;

Ngoaứi caực haứm khụỷi gaựn, haứm huyỷ, haứm kieồm tra hụùp leọ, haứmtuõn xoồ noọi dung taứi lieọu khi gụừ roỏi chửụng trỡnh Trong phần khai baựohaứm virtual coự hai haứm liẽn quan ủeỏn taứi lieọu:

- Haứm virtual BOOL OnNewDocument() nhử laứ thaứnh phần cuỷa leọnhFile/ New ủeồ mụỷ taứi lieọu Neỏu laứ taứi lieọu SDI khi ra leọnh File/Newthỡ haứm naứy khụỷi gaựn lái taứi lieọu hieọn hửừu thay vỡ táo moọt taứilieọu mụựi Neỏu ửựng dúng laứ MDI thỡ leọnh trẽn seừ sửỷ dúng haứmnaứy ủeồ táo moọt taứi lieọu mụựi

- Haứm virtual void Serialize(Carchive &ar) duứng ủeồ vieỏt hoaởc ủóc ủoỏitửụùng taứi lieọu lẽn moọt ủoỏi tửụùng Carchive hoaởc tửứ ủoỏi tửụùngCarchive ẹoỏi tửụùng Carchive nhử laứ moọt doứng dửừ lieọu nhũ phãn.Haứm naứy mang tớnh chaỏt saỷn sinh haứng loát ủoỏi tửụùng do ủoự coựchửừ Serial

Trang 13

Lụựp Document cho pheựp caỏt trửừ dửừ lieọu hoaởc ủóc xuoỏng dửừ lieọutửứ moọt taọp tin gói laứ taứi lieọu, cho pheựp Windows khai thaực nhiều taứilieọu cuứng moọt luực Lụựp Document hụùp taực chaởt cheừ vụựi lụựp view

 Taọp tin Vidu1.RC

Taọp tin naứy chửựa caực taứi nguyẽn liẽn quan ủeỏn menu, phớm noựng,hoọp hoọi thoái,…

//Microsoft Developer Studio generated resource script.

// English (U.S.) resources

#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)

"#ifdef _WIN32\r\n"

"LANGUAGE 9, 1\r\n"

Trang 14

"#pragma code_page(1252)\r\n"

"#endif //_WIN32\r\n"

"#include ""res\\Vidu1.rc2"" // non-Microsoft Visual C++ edited resources\r\n"

"#include ""afxres.rc"" // Standard components\r\n"

"#include ""afxprint.rc"" // printing/print preview resources\r\n" "#endif\r\n"

"\0"

END

#endif // APSTUDIO_INVOKED

// Icon

// Icon with lowest ID value placed first to ensure application icon

// remains consistent on all systems.

IDR_MAINFRAME ICON DISCARDABLE "res\\Vidu1.ico" IDR_VIDU1TYPE ICON DISCARDABLE "res\\Vidu1Doc.ico" // Bitmap

IDR_MAINFRAME BITMAP MOVEABLE PURE

MENUITEM "&New\tCtrl+N", ID_FILE_NEW

MENUITEM "&Open \tCtrl+O", ID_FILE_OPEN

MENUITEM "&Save\tCtrl+S", ID_FILE_SAVE

MENUITEM "Save &As ", ID_FILE_SAVE_AS

Trang 15

MENUITEM SEPARATOR

MENUITEM "&Print \tCtrl+P", ID_FILE_PRINT

MENUITEM "Print Pre&view", ID_FILE_PRINT_PREVIEW MENUITEM "P&rint Setup ", ID_FILE_PRINT_SETUP MENUITEM SEPARATOR

MENUITEM "Recent File", ID_FILE_MRU_FILE1, GRAYED

MENUITEM "Cu&t\tCtrl+X", ID_EDIT_CUT

MENUITEM "&Copy\tCtrl+C", ID_EDIT_COPY

MENUITEM "&Paste\tCtrl+V", ID_EDIT_PASTE

END

POPUP "&View"

BEGIN

MENUITEM "&Toolbar", ID_VIEW_TOOLBAR

MENUITEM "&Status Bar", ID_VIEW_STATUS_BAR END

"N", ID_FILE_NEW, VIRTKEY, CONTROL

"O", ID_FILE_OPEN, VIRTKEY, CONTROL

"S", ID_FILE_SAVE, VIRTKEY, CONTROL

"P", ID_FILE_PRINT, VIRTKEY, CONTROL

"Z", ID_EDIT_UNDO, VIRTKEY, CONTROL

"X", ID_EDIT_CUT, VIRTKEY, CONTROL

"C", ID_EDIT_COPY, VIRTKEY, CONTROL

"V", ID_EDIT_PASTE, VIRTKEY, CONTROL

VK_BACK, ID_EDIT_UNDO, VIRTKEY, ALT

VK_DELETE, ID_EDIT_CUT, VIRTKEY, SHIFT

VK_INSERT, ID_EDIT_COPY, VIRTKEY, CONTROL

VK_INSERT, ID_EDIT_PASTE, VIRTKEY, SHIFT

Trang 16

VK_F6, ID_NEXT_PANE, VIRTKEY

VK_F6, ID_PREV_PANE, VIRTKEY, SHIFT

END

// Dialog

IDD_ABOUTBOX DIALOG DISCARDABLE 0, 0, 235, 55

STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU

CAPTION "About Vidu1"

FONT 8, "MS Sans Serif"

VALUE "InternalName", "Vidu1\0"

VALUE "LegalCopyright", "Copyright (C) 2004\0"

VALUE "LegalTrademarks", "\0"

VALUE "OriginalFilename", "Vidu1.EXE\0"

VALUE "ProductName", "Vidu1 Application\0"

Ngày đăng: 27/06/2014, 11:20

TỪ KHÓA LIÊN QUAN

w