1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Lập trình windows

13 3 0

Đ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 Windows
Tác giả Nguyễn Dinh Thiam, Nguyễn Ngọc Biện, Lữ Hiếu Đạt, Hoàng Dược Hải, Ngô Án
Người hướng dẫn Huỳnh Thảo, Nguyễn Thị Minh Khai
Trường học UEF
Chuyên ngành Lập trình Windows
Thể loại Sách giáo khoa
Năm xuất bản 2007
Thành phố Hà Nội
Định dạng
Số trang 13
Dung lượng 7,45 MB

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

Nội dung

Ldl Md DRUChåo mtrng cåc bqn dén vdi thé' gidi lap trinh thü vi cåa möi trdöng dd hoa Windows.. Quyén såch nåy sé cung cå'p cho cåc lqn nhüng khåi niém vå nhCfng nguyén tic cd bån dé lap

Trang 1

Lê Hüu Dat Biên)

Windows

Sách giáo khoa vê trinh Win 32 API

Các vi du chuin Illilc dii vdi tüng cliii dê

Toàn b0 mi nyuín (bing VC++B.O) di

o-Ro

Dây dli vi d!

02 theO

dich vi chav Ilit

Trang 2

LAP TRINH WINDOWS

41B L' Thåi T6 - Hå Néi - Tel: 8.241706 - Fax: 9.348283

Chiu tråch nhiem xudt bån: NGUYÉN DiNH THIÉM Chiu tråch nhi?m néi dung: NGUYÉN BÅ NGOC Bién sogn: LÉ HIJU DAT - HỔNG DÜc HÅI

Slta bån in: NGOC AN

Trinh boy bio: HUYNH THÅo

Thvc lién doanh: cong ty TNHH Minh Khai S.G E-mail: mk.book@minhkhai.com.vn - Website: www.minhkhai.com.vn

Tdng phåt hänh

Nhå såch Minh 249 Nguyén Thi Minh Khai - Quan 1 - TP.HCM

DT: (08) 9.250.590 - 9.250.591 - Fax: (08) 9.257.837

Nhä såch Minh Chåu: Nhä 30 - Ngư 22 - T? Quang Btu - Béch Khoa - Hä Nưi

DT: (04) 8.692.785 - Fax: (04) 8.683.995

Ij cåc khu vuc

Nhä såch Huy Hộng: 95 Nüi Trüc - Kim Mä - Ba Dinh - Hä Nưi

DT: (04) 7.365.859

Cty cd phan såch thiét bi trdưng hoc Dä Näng: 78 Bech Däng - Näng

DT: 0511.837100

Nhä såch Chånh Tri: 116A Nguyén Chi Thanh - Dä Näng

DT: 6511.820129

Cty phåt hÅhh éåch Khånh Hưa:

Nhä såch Ponagar: 73 Th6ng Nhå't - Nha Trang - 101ånh Hưa

DT: 058.822636

Siéu thi såch Tån Tién: 11 Lé Thänh Phddng - Nha Trang - Khånh Hưa

DT: 058.827303

Nhä såch Näm Hién: 79/6 XO Viét Nghe Ti h - TP.can Tho

DT: 071 821668

In 500 cuưn (10m dia CD båi tap), khd 21 x 29 cm,

tei Xi nghiQp in Machinco - Sd 21 Büi Thi Xuån, Q 1, TP.HCM

Giå'y chå'p nhan däng kg kop hooch xuå't bån so' 527-2006/CXB/55-116/LDXH

55-116

Mä so' 3-7 - In xong vå nop Idu chiéu thång 1 näm 2007.

Trang 3

Ldl Md DRU

Chåo mtrng cåc bqn dén vdi thé' gidi lap trinh thü vi cåa möi trdöng dd hoa Windows Quyén såch nåy sé cung cå'p cho cåc l)qn nhüng khåi niém vå nhCfng nguyén tic cd bån dé lap trinh trén Windows Tru6c hét n6 dånh cho cåc bon bi6t lap trinh C h04c Pascal trong möi trdöng DOS, nay

muön chuy6n sang lap trinh trén Windows N6 cüng thich hqp cho cåc bon dä lap trinh trén

Windows vdi mot ngön ngü trVc quan cao hdn C, nhLf Visual Basic, nay mu6n c6 nhÜng kié'n th(fc

vCfng chic dé lap trinh Win32 API trén Visual Basic hay chuydn qua lap trinh C trén Windows.

Quyén såch nåy cüng dänh cho cåc bon dä tüng lap trinh C trén Windows, mu6n c6 mot "såch

giåo khoa" vé 14p trinh Windows dé tham khåo.

An phÄm trinh båy tubng tan, chi tiét mQi nguyén tic cia viéc lap trinh trong Windows: Tif

nguyén tÅc hoot dong cåa mot chddng trinh trong Windows, thöng qua cd chg cåc thöng diöp, cho

dén cåc nguyén tic lap trinh chuöt, bån phfm, timer, trinh ddn (menu), måy in, NO cüng di såu

våo giao diQn lap trinh db hoa GDI cåa Windows, giüp cåc bqn nÅm vCfng cåc nguyén tåc lap trinh trén cåc dji tuqng bitmap, metafile, font, Cåc bm cüng sé duqc hd6ng dÄn cu thé cåch xåy dl;fng cåc thu vién lién két döng (DLL), cåc nguyén tÅc lip trinh da tuyé'n (multithread).

Tä't cå mä nguön cåa cåc chddng trinh trong néi dung såch déu dä duqc bién dich vå chqy

thü Bqn c6 thé ding mä nguön trong dia di IQm theo såch hay gö Iqi mä ngudn tü såch.

Dü dä cö' gång hé't stc, nhu•ng khöng thd trånh khåi nhÜng khuyé't didm, rä't mong phé

binh qui båu cåa cåc bqn.

MQi g6p Xin güi vé dia chi E-mail sau:

mk.book@minhkhai.com.vn

Chüng töi chän thånh cåm on döng vién vå d6ng göp kién cåa cåc ben ddng nghiép

trong quå trinh bién som såch Xin tå löng biét dn såu säc dén anh Tran Tién Düng dä g6p j vå

bd sung nhiéu chi tiét qui båu cho quydn såch nåy.

MK.PUB

Trang 4

MUC LUC

Löl Md I)ÄU

MUC LUC

1.2.1 Lich Sli Clia Windou's

1.3 API vå cåc mö hinh bé nhd

1.4 Chui(jng trinh windows dåu tiön cua l)4n

1.4.1 Mét Illö Ilinh kidu-kS' tv

1.4.2 Chitong trinh Windot('s tu•cmg

11.1 Lich sü tfip ky+

Il 1.1 Bé tiéu chudn MS (Anterican Standards)

11.1.3 ASCII réng

Il 1.4 Cåc tQp Il'S' tv hai byte

ll 1.5 TGI) k)" 11/ Unicode .

11.2 Töp kyl' tv Unicode vå C

11.2.1 Kidli Il'S' ti.t

11.2.2 Clic tv' réng hon

11.2.3 Cåc /lönn thit Vien Unicode

11.2.4 Duy tri niü ngubll duy nhåt

11.3 Tape k)" tv Unicode vä Windows ,

11.3.1 Cåc kidu tögp tin tiéu db (header file) Wilidows., .

11.3.2 St/ gei llål)l Windows

11.3.3 Sit dvng print/ trong Windows

llöun Message Box din/l

17 18 18 18

21 21

'21

.21

22

23

23

24

24 24

25 26 27 27

29

30

11.3.4 Mét

.31

111.1 Cüa sö (Window)

.32

111.1.'2 Chuong trinil HELLOWIN

.37

111.1.3.Dang löp tcindow

.41

111.1.4.Tao ra u'indow

111.1.5 Iliön thi window

Trang 5

MUC LVc

111.1.6.

111.1.7.

111.1.8.

111.1.9.

VÖng I(ip thöng .42 TIlli tuc usindou•

Xli IS' cåc t/löng dig)) TIll/c Illi tin ('un thanh

111.1.10 Thöng

111.1.11 Tilöng

V}'M PAINT.

WM DESTROY.

111.2 Nguyén tåc 1ö1) trinh NV indows

111.2.1 Windou•s gei clu/ong Irinll cü(t 13gn

111.2.2 (hic t/löng di('l) eö /lüng (I(.yi t'å k/löng llång dui

111.'2.3 Vüo ru nhanh

CHÜöNG 4 THUC HÅNH VÉ XUÄ'T CYIÜ

IV.I Md d•au.

IV.2 VO Iqi (Paint Repaint).

1}'.2.1 Thöng WM PAINT

IV 2.2 C(ic hinh ch17 Il/lögt l? k/löng /1(21) IQ

IV.3 Gibi thiéu GDI

IV.3.1.

IV.3.2.

IV.3.3.

w.3.4

I)et'ice Context

NIIö111 niöt handle (let'ice context - pliåp 1

C(iu triic t/löng tin paint

N/lün niöt llandle decice context: philtjng• l)/låp 2

IV.3.5.

IV.3.6.

IV.3.7.

IV.3.8.

Chi tiét vé

Chi tié't Tex/

48

.49

.49

50

50

U

u } 21 : •l 51

.51

52

: 53

l 53

54

IV.3.9.Din/l dgng chi?

1%3.10 Köl /1(21) 111Qi did'll lgi

11/.3.11 Tilli luc window SYSMETS l.c

W 3.12 chi

IV.3.13 Kic/l t/1t/Öe tuiilg client

IV.4 C&ic thanh cuOn (Scroll Bars)

IV.4.1 Vüng tfå v/ tri than/l

IV.4.'2 Clic thöng di(p than/l

IV.4.3 Ctlön SYSMETS

v

55

56

.56

57

.62

.62

63

63

64 65

67

11"4.4 Cdu trlic c/ll/(jng trinh c/é'

IV.5 TOO mot thanh cuQn töl hon

IV.5.1 Cåc /ldun 1/1öng tin than/l ('11()11

IV.5.'2 Gibi llan khi cuön

IV.5.3 SYSMETS

IV.5.4 l)/lién l)ån k/löng Sli' (Ivng chuQt.,

71

71

71

73

, 73

80

Trang 6

MUC LUC

CHUONG 5 CO BÂN GDI

V.I că•u GDI

v.l.l IS GDI

V.1.2 Ccic GĐI

V 1.3 N1117ng ngll.vôn tÔ GDI (GDI Priłnilices) V.2 Device Context v.2.1 N11(łn Device Context

v.2.2 N11(În tliông tin device context V.2.3 Cilltang DEVCAPSI v.2.4 Kicll tliłlóc Clia tliiÔt bi v.2.5 Tint Iliću vč

v.'2.6 Clic thuÔc tinll device context

v.2.7.Litu device coli CHUONG 6 BÂN PHiM

VI.I CU so vÔ bân phim

VI 1.1 Kli,ông cđn quan Iđlłn din bčlll pliiłn

VI 1.3 I-Iâng (Igi vi?c dÔ1łg bÔ Ilóa

V1.1.4 Pllinł gô k)” ttf gô

VI 2 Thông diëp phim gô VI,2.1 P/liłn gô 11? tliÓng vđt p/linł gô tliông tliltông

VI.'2.2.Tini Iličll łnđ pliiłn do (uirlual key code)

VI.2.3 Tžłn Iliču tliông tili clitîa trong IParałn .ș

VI.2.4 Trętng tildi Ičgt pliiłn(S11ift States)

VI.2.5 Sit dl!lłg tliông di?p p/linł gô

VI.2.6 Nđng câp cllltang trilill SYSMETS Cho phćp sti' dl!lłg phiłn ;,

VI.3 Thông dięp nhân dąng gô

V1.3.1 Bô'll logi tliôlłg diëp k'S' tl!' gô

V1.3.2 Tlit ttf tliông V1.3.3 XI? lj cuc k)” lit diÔu kliiën V1.3.4 Tliông di?p Clia ccîc kJ' ti/ ”c11Ôt” (dead-character) .

V1.4 Thông dięp bân phim vâ tăp hqp k' tg V1.4.2 VCI'II dÔ vâ -rit IS' bčtn pliinł vói liliiëu lłgôn ngł-ł

V1.4.3 T(tp Il„gp kJ' ti/ včt FOIlt V1.4.4 Thë' côll Uliicode tlii sao?

V1.4.5 TrueType f011t tlłay Clio font bitłnap ('Iža 11? tliô)łg V1.5 Con nhăy thay Cho con tro

7 81

81 81 82

82 83 83 84 85

88

91 92 93 95 95 95

96

96

97

97

97

98

101 102

103

103

111

112 112 113 114 115 115

121

122 128 129 135 135

Trang 7

VI.5.2 TYPER „

CHUONG 7 CHUOT V11.1 Cd ban vé chuöt

VII.2 Cåc thöng (liép chuét vong client V11.2.1 Mét ri ui IS' chuöpt don giån

1/11.2.2 xti IS pili,n V11.2.3 DoubleClick VII.3 Nhüng thöng diép chuq')t vung Nonclient 1'11.3.1 Thöng flit-Test

V11.3.2 Thöng di('l) Sinh ra tllöng VII.4 Ilit-Testing (xåc (linh Kich) trong chif(jng trinh V11.4.1 Möt du VlI.4.2 Mét chi/ong trinll V11.4.3 Mö phöng chuét t'(jl bitn Philli }'11.4.4 giao liép l)ån phi,n CHECKER

V11.4.5 Sit dung Clic Clia sc)' con (18 Hit-Testing

V11.4.6 Clic s6 con trong CHECKER V11.4.7 Ctta sö' con t'ü bitn philn V11.5 Capture chu0t V11.5.2 Giåi pliåp Capture (chon båt)

LUC 146 148 148 149 149

• 149 158

154 158 158 162 168 168 u : 171

V11.5.3 Chuang trillh BLOKOUT2 ., _ 172

V11.6 . CHUONG 8 BÖ THö1 (TIMER) VIII.I Khåi niQm co bån vé timer

VI 11.2 Thié't lap bé Dinh thdi timer

}'111.2.1 11? thöng bé dillh

174

181 181

181 182 V111.2.2 Thöng di('l) Tinier ditgc Xlt IS' tuttn tv' t'å ddng 182

VI 11.3 Ba phtf(jng phåp sir (lung dinh thöi timer 182

V111.3.1 Plutong pilåp ,nét

V111.3.2 Phuong pilåp hai

V111.3.3 Phuong pliåp ba

183

186 VIII.4 Xäy d!fng chd(jng trinh ddng hd vdi Timer

V111.4.1 Xåy dl/ng clutung trinll (Ibng lid sö' digital

V111.4.2 Xåy dung chitong trinll ddng 11b chi kiln 19

V111.5 SLY dung bQ dinh thöi Timer (16 thöng l)åo cåc trqng thåi 20

CHUONG 9 cÅc CONTROL cÜA SO CON 20

IX.I Md dÅu

Trang 8

MUC LUC

IX.2 Ldp button

IX.2.1.

IN 2.2

IX.2.3

IX.2.4

IX.2.5.

IX.2.6.

IX.2.7

IX.2.8

IX.2.9

Tgo ra cåc child window control

Ctia SD con lién lgc t.'åi Clia Clia st; cha lién lac vÖi Clia st; con

Cåc push button

Cåc check Cåc radio button

Cåc group box

Tllay d6i clu7 Clia button C(ic button dttoc Iliön thi (visible) c/10 phép (enabled) IX.2.10 Clic button t'å focus nllöyp

IX.3 Cåc Control vå måu

IX.3.1 Cåc lilüu Il? thö'ng

IX.3.2 Cåc natu button

Ix.3.3 Thöng di?p WM_CTLCOLORBTN

IX.3.4 Ccic button ti/ vé (Owner-Draw)

IX.4 Ldp tinh (Static Class)

IX.5 Ldp thanh IX.5.1 Chuang trinil COLORSI

IX.5.2 Giao cli?n bån Philli tv déng

IX.5.3 Subclassing Cita sö ,

IX.5.4.Tö lnåu nén

IX.5.5 Tö ntåu cåc thanh cuön vå text tinh

IX.6 Ldp soan thåo (The Edit Class) IX.6.1 Ccic kidu lÖp sogn.thåo

IX.6.2 Mä thöng båo Edit Control

IX.6.3 Slt dung cåc Edit Control 0 , IX.6.4 Cäc thöng di?p dén ntét Edit Control ,

IX.7 Ldp Listbox IX.7.1 ccic leié'u List IX.7.2 Dat ccic chuöi våo List Box

IX.7.3 Chen vå Idy cåc IX 7.4 Nh@n cåc tllöng di?p tir List Box

IX 7.5 Mét ltng deng List Box don giån IX.7.6 Li?t ké cåc tüp tin IX.7.7 Möt head cüa Windows CHUONG 10 TRiNH DON vÅ TÅI NGUYÉN

x.l Md X.2 Icon, Cursor, chuöi vå cåc Resource tüy bién

X.2.1 Thé/)1 1114t icon våo nlét cllttcng trirh 206 210 211 '211 212 212 213 213 '213 214 214 215 215 216 217 217 224 225 225 232 233 233 233 234 236 237 237 237 238 238 '239 240 240 241 245 246 251

251

251

251

Trang 9

MVC Lt)c

X.2.2 NII(in tnét llandle cua cåc icon

X.2.3 Sti dung cåc icon trong chuong trin/l Ijgn

X.2.4 Sli dung cåc Icon tidy bidn

X.2.5 Cåc Resoutve childl IS'

X.2.6 Cåc resource tü.y

X.3 Trinh don

x.3.1

x.3.2

x.3.3

x.3.4

x.3.5

x.3.6

x.3.7

x.3.8

x.3.9

Cåc kllåi niétn trinll don

Cåu trlic trinh don

Dinh ngllia trill/l don

Tllatn trö trinh don Irong Chuang trinh Clia Bun

Trinh don vå cåc thöng cliép

Mét chuong trinh "I(iu

Qui ltöc trin/l don

Dinll nghia lnét trinh don theo cåc/l phlic

X.3.10 Sit dung trinh don 11? lhöhg

X.3.11 Thay dö'i trinll

X.3.13 Mét cåcll tiép cQn trin/l don kllöng chinh

X.4 Phim tÅt (Keyboard Accelerator)

x.4.1

x 4.2

x.4.3

x.4.5

x.4.6

x.4.7

Tgi sao sti' dung Keyboard Accelerator

Mét sö' qui täc gån keyboard accelerator

Bång Accelerator .l

Ngp bång

Dicli ccic phün NIIGII cåc thöng dipp accelerator „

POPPAD vöi lilét trinh don vå accelerator „

x.4.8 I-Iiéu Il/c cåc Inuc trinh

x.4.9 Xlt IS' cåc tüy ch.Q11 trinh don

CHUONG 11 HOP THOM (DIALOG BOX)

XI.I Khäi niérn cc bån vé hQp thoqi (Dialog

XI.2 I-IQp thoqi dang Modal

Xl.2.2.

Xl.2.3.

xl.2.4

Xl.2.5

Xl.2.6.

Tc,to llép thogi don giån — Tlép thogi 'About'

I-Iép thogi vet two lilttu tonplate c110 1101) thogi T/lli tuc Xlt IS' thöng dipp Clig llép thogi

Ccic bién- tå"u kh(ic llhau Clia 11.01)

Tgo 1110t lhogi• phlic tgp 110/1 :

Xl.2.7 LODI vi?c U'Öi ccic thånh pliün diöu kliié'n trong 1141) Illogi

Niit nlldn OK Cancel

258

2GG

'267

267 267

270 275 276 277

282

285

285

286 291

291

291

292 292 292 293

293 300 301

303 303

303

304 307

308 309

310

312 317 318

Xl.2.8.

Trang 10

MUC LUC

Xl.2.9 Trin/l sti dung biö'n toün cuc ,

Din/l diönj dirng (Tab Stop) ph(in Xl.2.11, Vö trong Clia SD ht)p thogi

Xl.2.13 Din/l nghia thånll phån dibtl khiön Clia riéng 13gn

Xl.3 Ilép tho,3i dang Modeless ,

Xl.3.1 St./ khåe nhau gilia Illogi 'nod(tl t'dt Inodeless

Xl.3.2 Cili/ung trinil COLORS nüng C(ip

X1.3 3 Chuang trinll IIEA'('ALC: Clia so' h(t)' 1/10(.ti

X 1.4 (hic hop thoai thong (lung trong Windows (Common l)ialog)

Xl l.l Chltung trin/l POP,AI) nüng Clip

11

319

320

321 321

322

327

327

329 332 338

338

Xl.5 Chuang trinh chi can mot 1011 h 357

CHÜONG 12 CLIPBOARD

Xll.l Md dill

XII.2 Sü (lyng Clipboard (Ion gian

XIl.2.1 Cåc dinh danll d17 li('ll clipboard ehuü)l

X11.2.3 Ch10€Ol text clipboard

X11.2.4 Nil(tn text clipboard

XII.2.5 Md t'å döng clipboarcl

x11.2.6 Clipboard Unicode

X 11.3 SLI dyng Clipboarcl phlTc top Il(jn

-Illiiéu d17

359 359 359

359 360

361

362 363 363

369

370 XIl.3.1 Slt clvng

XlI.3.2E Tri hoün thi/c hi?ll (Delayed Rendering) 371

Xll.3.3 Clic dill" dgng clü' lieu riéng

XII.4 Too mot Clipboard Viewer

XlI.4.1 Chuöi -vich Clipboard

XII.d.2 Clic /lånl l,'öt t/löng di(p Clipboard Vieu'er

XIl.4.3 Mét vi (11! Clipboard Viewer don giån

CHUONG 13 cÅc COMMON CONTROL

XIII.I Gidi thiQu Common Control

X111.2 phién ban DLL

XIII.3 Cåc thöng (liQp Common Control

XIII.4 Cåc I(3p cua sö Common Control

XIII.5 Cåc kiöu Common Control

CHUONG 14 GIAO DIÉN NHIÉU TÅI LIÉU (MDI)

XIV.I Khåi niQm co bån vé MDI

XIV.I.I p/l(in MDI

372 373

373

373 376

379 379

379

380

380

381

383 383 383

Trang 11

,WV.1.2 11b MDI

XlV.2 vi (låt.„

Ba trinil XlV2.2 Khm Chuang trinh ,.

XlV.2.3 ra st; con

XlV.2.4 Xli• IS' thöng dlép Clia SD khung

XIV.2.5 Clic SD tåi lieu con

XlV.2.(i Den dep

xv.l Md dåu

XV.2 co in

XV.2.1 In

XV.2.2 Device Context nuiy

XV.2.3 Chu•ong trinil DEVCAPS lgi

XV.2.4 Lbi gei höun

XV.2.5 Kiéln tra kliå nCtng BitBlt

XV.2.6 Chuang trinh in don giån nhdt

XV.3 In dd hoa vå chtr „

xv.3.1 In Bare-Bone

xv.3.2

xv.3.3

xv.3.4 Cüi dot nupt Abort Procedure l,

LUC

401

401

402

400

403 403 403 406 408

420

421

421

423 426

9 427

428

428

xv.3.5 Thénl niét 1101) thogi in „ 431

CHUONG 16 BITMAP

XVI 1 Co bån vé bitmap , j

XVI.2 Cåc kich thudc Bitmap

XVI.'2.1 .

441

XW.2.2 ccic thiÖt bi thégiöi 442

XVI.3 Chuyé'n khöi bit (Bit-Block Transfer)

XVI.3.1 Cllltong trinh' BitBlt

XVI.3.2 Giün (Stretching)

XVI.3.3 Kidu StretchBlt

XVI.3.4 Cåc toåll hgng

XVI.3.5 Bit Mttu

XVI.4 Dji tuqng Bitmap GDI

XVI.4.1 Tao ra DDB

XVI.4.'2 bit bil,nap

XVI.4.3 Device Context bö 11/1ö

444

444

448 450

450

452

453

453

455

Ngày đăng: 21/10/2022, 17:23

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN