You are on page 1of 3

www.HuaHongQuan.

com

Topic 1a Gii thiu c bn


Hm nay mnh s vit v lp trnh windows s dng b th vin lp trnh Windows API. Ngn ng c dng trong ch ny l C++. u tin, mnh xin nu ra mt s khc bit gia lp trnh Windows v DOS. Windows X l theo s kin (event) da vo cc thng ip (message) Giao din ha Multi-tasking / multi-threads H tr Multi CPU Tch hp sn Multimedia H tr 32 bit tr ln H tr nhiu cng ngh DLL, OLE, DDE Dos Thc hin tun t theo ch nh Giao din Console Single task Single CPU Phi dng cc th vin Multimedia ring ng dng 16 bits Khng c

Chng ta s vit chng trnh windows u tin. Mc tiu: To ra 1 MessageBox v c ch Hello World trong. Cc bn c th theo di video link sau: http://youtu.be/eYMVCgzFoWU Bc 1: M visual Studio ln. Mnh dng phin bn 2010. Bc 2: New Project > Visual C++ > WIN32 PROJECT. in tn vo Name > OK

www.HuaHongQuan.com Bc 3: Next > Empty Project > Finish Bc 4: Add 1 file m ngun vo Source Files Solution Explorer Bc 5: G on m ngun sau:
#include<Windows.h> int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow){ MessageBox(NULL, TEXT("HELLO WORLD"), TEXT("HelloMsg"), 0); return 0; }

Bc 6: F5 v Xem kt qu

Chi tit:
Header File:
WINDOWS.H l th vin m khi dng s include cc Windows header khc . Mt s header quan trng nh: WINDEF.H : Basic type definitions (Khai bo kiu c bn) WINNT.H : Type definition for Unicode support ( h tr Unicode) WINBASE.H Kernel functions WINUSER.H User Interface Functions WINGDI.H Graphics device interface functions

Khai bo:
Trong th vin WINBASE.H th c khai bo l: (xem ti http://msdn.microsoft.com/enus/library/ms633559.aspx)
int CALLBACK WinMain( _In_ HINSTANCE hInstance, _In_ HINSTANCE hPrevInstance, _In_ LPSTR lpCmdLine, _In_ int nCmdShow );

Trong : i s u tin hInstance ngha l instance handle. Trong lp trnh Win th mt handle l mt s m mt ng dng dng xc nh ci g . Trong trng hp ny, handle dng xc nh chng trnh ang vit.

www.HuaHongQuan.com i s th 2 l hPrevInstance th trong Windows 32bit lun l NULL. i s th 3 l command line dng chy chng trnh. Mt s ng dng dng i s ny load 1 file vo b nh khi chng trnh khi ng. i s th 4 dng bit chng trnh s hin th bnh thng, maximized hay minimized.

MessageBox:
MessageBox dng hin th nhng message ngn. V d nh Hello World trn. Trong : i s u tin l mt window handle. Chng ta s tm hiu v handle di. i s th 2 l on ch (string) s hin than ca message box i s th 3 l tiu ca MessageBox Ch : chng trnh trn chng ta bao on ch trong TEXT() thun tin nu mun s dng unicode. i s th 4: l cc hng s bt u bng MB_. Cc bn c th th cc on code sau y bit v cch hot ng ca i s ny ( c trong file main.cpp ti km):
WORLD"), WORLD"), WORLD"), WORLD"), WORLD"), WORLD"), WORLD"), WORLD"), TEXT("HelloMsg"), TEXT("HelloMsg"), TEXT("HelloMsg"), TEXT("HelloMsg"), TEXT("HelloMsg"), TEXT("HelloMsg"), TEXT("HelloMsg"), TEXT("HelloMsg"), 0); MB_OK);//OK Button MB_OKCANCEL);//OK + Cancel Button MB_ABORTRETRYIGNORE); MB_YESNOCANCEL); MB_YESNO); MB_RETRYCANCEL); MB_DEFBUTTON2 | MB_DEFBUTTON3

MessageBox(NULL, TEXT("HELLO MessageBox(NULL, TEXT("HELLO MessageBox(NULL, TEXT("HELLO MessageBox(NULL, TEXT("HELLO MessageBox(NULL, TEXT("HELLO MessageBox(NULL, TEXT("HELLO MessageBox(NULL, TEXT("HELLO MessageBox(NULL, TEXT("HELLO |MB_ICONQUESTION);//OK Button

You might also like