1
Lp trình C trên Windows
Các khái nim cơ bn
Nguyn Tri Tun
Khoa CNTT – ĐH.KHTN.Tp.HCM
Email: nttuan@ fit.hcmuns.edu.vn
Autumn 2005C4W -Basic -Nguyen Tri Tuan -DH.KHTN Tp.HCM2
Ni dung
fiVài đim khác bit gia lp trình Windows vàDOS
fiCác thư vin lp trình ca Windows
fiCác loi ng dng
fiCác khái nim cơ bn
fiLp trình skin (Event driven programming)
fiCác thành phn giao din đồ ha (GUI)
fiTài nguyên ca ng dng (Resources)
fiMt chương trình tng quát xây dng trên Win32
API
fiCác kiu dliu cơ bn
2
Autumn 2005C4W -Basic -Nguyen Tri Tuan -DH.KHTN Tp.HCM3
Vài đim khác bit gia lp trình Windows vàDOS
Không cóHtrnhiu công ngh
DLL, OLE, DDE, COM,
OpenGL, DirectX, …
ng dng 16 bitsHtr 32 bits hay hơn na
Phi dùng các thư vin
Multimedia riêng
Tích hp sn Multimedia
Single CPUMulti-CPU
Single taskMulti-tasking
Thc hin tun ttheo ch
định
Lp trình skin, da vào
thông đip (message)
DOSWindows
Autumn 2005C4W -Basic -Nguyen Tri Tuan -DH.KHTN Tp.HCM4
Các thư vin lp trình ca Windows
fiSDK -Software Development Kit
§Làb thư vin lp trình nn tng ca HĐH
Windows
§Cung cp tt ccác công ccn thiết để xây
dng 1 ng dng trên Windows
§Được sdng như là thư vin cơ s để to ra
nhng thư vin cp cao hơn trong nhng ngôn
nglp trình. VD. OWL ca BorlandC, MFC ca
Visual C++,…
3
Autumn 2005C4W -Basic -Nguyen Tri Tuan -DH.KHTN Tp.HCM5
Các thư vin lp trình ca Windows (tt)
fiMt sthành phn tiêu biu ca SDK:
§Win32 API
§GDI/GDI+
§Windows MultiMedia
§OpenGL
§DirectX
§COM/COM+
§ADO (ActiveX Data Object)
§OLE DB
§
Xem thêm MSDN/Platform SDK Documentation/Getting
started/Content of Platform SDK
Autumn 2005C4W -Basic -Nguyen Tri Tuan -DH.KHTN Tp.HCM6
Các thư vin lp trình ca Windows (tt)
fiOWL -Object Windows Library
§Làb thư vin hướng đối tượng ca
BorlandC++
fiMFC -Microsoft Foundation Classes
§Làb thư vin hướng đối tượng ca Visual C++
fiMt ng dng trên Windows cóth được
viết bng
§Thư vin SDK
§Mt thư vin khác (OWL, MFC,…) phi hp vi
SDK
4
Autumn 2005C4W -Basic -Nguyen Tri Tuan -DH.KHTN Tp.HCM7
Các loi ng dng
fiWin32 Console: ng dng 32 bits, vi giao
din dng DOS command line
fiWin32 GUI: ng dng 32 bits, dùng giao
din đồ ha
fiWin32 DLL: ng dng 32 bits, dng thư vin
liên kết động (Dynamic-linked library)
fiWin32 LIB: ng dng 32 bits, dng thư vin
liên kết tĩnh (Static-linked library)
fi
Autumn 2005C4W -Basic -Nguyen Tri Tuan -DH.KHTN Tp.HCM8
Các khái nim cơ bn
fiHandle:
§Mt giátr32 bits không du (unsigned) do HĐH to ra
để làm định danh cho 1 đối tượng (ca s, file, vùng
nh, menu,…)
fiID (Identifier):
§Mt giátrnguyên do ng dng to ra để làm định danh
cho 1 đối tượng (menu item, control)
fiInstance:
§Mt giátrnguyên do HĐH to ra để định danh 1 th
hin đang thc thi ca ng dng
fiCallback:
§Thuc tính ca 1 hàm/thtc sđược gi bi HĐH,
không phi bi ng dng
5
Autumn 2005C4W -Basic -Nguyen Tri Tuan -DH.KHTN Tp.HCM9
Lp trình skin (Event driven programming)
Phát sinh các skin thông đip
Autumn 2005C4W -Basic -Nguyen Tri Tuan -DH.KHTN Tp.HCM10
Lp trình skin (Event driven programming)…(tt)
Qui trình x lý thông đip