You are on page 1of 50

Tng quan

lp trnh mi trng Windows


Lch s Windows
Windows Desktop Windows Server
Mi trng Windows
vH iu hnh 32/64 bit
vGiao din ngi dng kiu ho (GUI)
va nhim

3
Giao din ngi dng kiu ho (GUI)

vVisual Interface
v WYSIWYG
v Cc ng dng Windows c giao din
thng nht vi cng dng v:
mt ca s hnh ch nht
thanh tiu
menu, hp hi thoi, thanh trt

4 Lp trnh mi trng Windows


a nhim
v Nhiu chng trnh c th c kch hot
v chy cng mt lc
v Mi chng trnh chim mt phn ti
nguyn ca h thng v c mt phn b
nh thng tr
v Windows 32 bits hot ng theo c ch
preemptive. Mi chng trnh c th c
tch thnh cc thread thc hin cng lc

5 Lp trnh mi trng Windows


2/17/2009

Qun l b nh
vM chng trnh v d liu c th dch
chuyn trong b nh vt l
vKh nng s dng b nh ph
vCc th vin lin kt ng (.DLL)

6 Lp trnh mi trng Windows


T tng hng i tng
v Ca s ng dng chnh v cc ca s con
l cc th hin (i tng) ca lp ca s
c ng k trc

7 Lp trnh mi trng Windows


2/17/2009

Giao din ho c lp thit b

vGiao din ho ca Window cho php


to cc i tng ho v nh dng vn
bn cho c mn hnh v my in
v Chng trnh vit cho Windows khng
iu khin trc tip thit b xut nh mn
hnh hay my in m thng qua mt ngn
ng lp trnh ho gi l Giao Din Thit
B Ho (Graphics Device Interface:
GDI)

8 Lp trnh mi trng Windows


Kin trc hng thng ip (message driven)

v Windows v cc ng dng Windows hot ng theo


c ch truyn, nhn thng ip
vCc hot ng ca chng trnh thay i tu theo
thng ip m n nhn c,
vThng ip c gi qua li gia ng dng v
Windows, gia cc ng dng vi nhau
v Ca s ng dng t ng c v li mi khi c s
thay i kch thc hay vng b che. iu ny c
thc hin nh h iu hnh gi thng ip cho
chng trnh

9 Lp trnh mi trng Windows


Th tc ca s
vH iu hnh ra lnh cho ng dng nh
th tc ca s (Window Procedure)
vHm ca s cho bit phn ng ca chng
trnh vi cc tc ng bn ngoi nh user
input...
v H iu hnh Windows gi thng ip cho
mt chng trnh ng dng bng cch
gi hm ca s ca ng dng , vi
tham s l thng ip

10 Lp trnh mi trng Windows


c im c bn
Lp trnh hng s kin, da vo thng ip
a nhim
Mi trng 32/64 bits
H tr th vin lin kt ng

11 Lp trnh mi trng Windows


Windows v DOS
Windows DOS
Lp trnh s kin, da vo thng Thc hin tun t theo ch nh
ip (message)
Multi-tasking Single task
Multi-CPU Single CPU
Tch hp sn Multimedia Phi dng cc th vin
Multimedia ring
H tr 32 bits hay hn na ng dng 16 bits
DLL, OLE, DDE, COM, OpenGL, Khng c
DirectX

12 Lp trnh mi trng Windows


Cc loi ng dng c bn
Windows Application: ng dng 32 bits, giao
din ha
Win32 DLL: ng dng 32 bits, dng th vin
lin kt ng (Dynamic-linked library)
Win32 LIB: ng dng 32 bits, dng th vin lin
kt tnh (Static-linked library)
Console Application: ng dng 32 bits, vi
giao din dng DOS command line

13 Lp trnh mi trng Windows


Windows Application da C

Nm Ngn ng Cng c

1985 C Windows application


programming interface
(API)
1992 C++ Microsoft Foundation
Class (MFC) Library

2001 C# hoc Windows Form (1 phn


C++.Net ca .NET Framework)

14 Lp trnh mi trng Windows


Cc th vin lp trnh
Windows API
OWL - Object Windows Library
MFC - Microsoft Foundation Classes
ATL - Active Template Library
WTL - Windows Template Library

15 Lp trnh mi trng Windows


Cc khi nim c bn
vHandle
Mt gi tr 32 bits khng du (unsigned) do HH to ra
lm nh danh cho 1 i tng (ca s, file, vng nh,
menu,)
vID (Identifier)
Mt gi tr nguyn lm nh danh phn bit gia cc 1
i tng (menu item, control) trong mt chng trnh.
vInstance
Mt gi tr nguyn do HH to ra nh danh 1 th hin
ang thc thi ca ng dng
vCallback function
Cc hm c gi t ng bi h iu hnh
16 Lp trnh mi trng Windows
Lp trnh hng s kin
vQui trnh x l thng ip
vCc loi thng ip thng gp
vVng lp x l thng ip

17 Lp trnh mi trng Windows


Pht sinh cc s kin v thng ip

18 Lp trnh mi trng Windows


Lp trnh hng s kin

lung iu khin ca chng trnh c xc nh da


vo hnh ng ca ngi dng khi s dng chng trnh

19 Lp trnh mi trng Windows


Cc khi nim c bn

Thng ip c gi khi

WM_CHAR C mt k t c nhp t bn phm

WM_COMMAND Ngi s dng click mt mc trn menu, button

WM_CREATE Mt ca s c to ra

WM_DESTROY Mt ca s b hu.

WM_LBUTTONDOWN Phm tri chut c nhn

WM_LBUTTONUP Phm tri chut c th ra

WM_MOUSEMOVE Con tr chut di chuyn trn mn hnh

WM_PAINT Ca s cn v li

WM_QUIT ng dng sp kt thc

WM_SIZE Ca s c thay i kch thc

20 Lp trnh mi trng Windows


Ti nguyn - Resource

vTi nguyn (Menu bar, dialog, bitmap,


icon, cursor,) ca ng dng c nh
ngha bn ngoi v c thm vo trong
file thc thi ca ng dng khi bin dch
Cc loi ti nguyn ca ng dng
Accelerator table: bng m t phm tt (hot-key)
Bitmap: nh bitmap
Caret: con tr vn bn
Cursor: con tr chut
Dialog box: khung hp thoi (Dialogbox Template)
Font: font ch

21 Lp trnh mi trng Windows


Ti nguyn - Resource

Cc loi ti nguyn ca ng dng


Icon: biu tng
Menu: menu
String-table entry: bng m t cc chui k t
Version information: bng m t thng tin phin bn

22 Lp trnh mi trng Windows


Giao din ha
vCc dng ng dng giao din ha
SDI - Single Document Interface
MDI - Multiple Document Interface
Dialog

23 Lp trnh mi trng Windows


SDI - Single Document Interface

v Mt ca s lm vic
v Cho php thay i kch thc ca s
(Resizeable)
v Khng c cc ca s con
v V d: Notepad, Paint,

24 Lp trnh mi trng Windows


MDI - Multiple Document Interface
vMt ca s lm vic chnh v nhiu ca s
con
vCho php thay i kch thc ca s
(Resizeable)
vCho php Maximize/Minimize/Close cc ca
s con
vV d: Word, Excel, VC++,

25 Lp trnh mi trng Windows


Dialog
vMt ca s lm vic
vThng kch thc c nh
vThng c cc button, edit box, list box,
vV d: Calculator, CD Player,..

26 Lp trnh mi trng Windows


Ca s - Window
vL mt vng ch nht trn mn hnh dng
hin th kt qu output v nhn cc
input t ngi dng
Cng vic u tin ca 1 ng dng GUI l to mt
ca s lm vic
vMi ca s u c 1 ca s cha (parent
window), ngoi tr ca s nn Desktop
Ti mi thi im, ch c mt ca s nhn input t
ngi dng (Active/Focused window)

27 Lp trnh mi trng Windows


Cc thnh phn ca mt ca s

28 Lp trnh mi trng Windows


Cc control thng dng
Tab Control

Edit box

Listbox

Combobox

Check box
Static text

Button

29 Lp trnh mi trng Windows


Cc control thng dng

30 Lp trnh mi trng Windows


Qui c t tn cc hng

vDng ch hoa vi tip u ng m t loi


CS Class style
IDI ID number (so nhan dang) cho mot bieu
tng
IDC ID number (so nhan dang) cho mot cursor
WS Window style
WM Window message
CW Create Window option
DT DrawText option
CS_HREDRAW DT_SINGLELINE WM_CREATE
CS_VREDRAW IDC_ARROW WM_DESTROY
CW_USEDEFAULT DT_VCENTER WM_PAINT
DT_CENTER IDI_APPLICATION WS_OVERLAPPEDWINDOW
31 Lp trnh mi trng Windows
Gii thiu .NET
v.NET bao gm mt b y cc cng c
gip to v ci t cc ng dng, .NET
bao gm:
Sn phm ca .NET
Visual studio.NET IDE
Ngn ng lp trnh: C#, VB.NET
Dch v web ca .NET
.NET Framework

32 Lp trnh mi trng Windows


.NET Framework
v.NET framework bao gm 3 thnh
phn ch yu
Common Language Runtime (CLR)
Cc lp c s ca .NET Framework
Giao din ngi dng

33 Lp trnh mi trng Windows


VB C++ C# VJ#

Common Language Specification

Visual Studio.NET
ASP.NET: Web Services Windows
and Web Forms Forms

ADO.NET: Data and XML

Base Class Library

Common Language Runtime


CLR
vCommon Language Runtime l mi trng
cho tt c cc ng dng vit trn .NET
chy
vCLR h tr nhiu ngn ng v cung cp
cc cng c dng chung cho cc ngn ng
lp trnh khc nhau, gip cho vic tng
tc qua li gia cc ngn ng lp trnh
khc nhau d dng hn

35 Lp trnh mi trng Windows


CLR

VB .NET Visual C#

VB .NET Compiler VC# Compiler

Microsoft Intermediate Language (MSIL)

Common Language Runtime (CLR)

Just in Time (JIT) Compilers

Native Code

36 Lp trnh mi trng Windows


Qu trnh bin dch

37 Lp trnh mi trng Windows


Source VB C# C++
code
Unmanaged
Compiler Compiler Compiler
Component

Managed Assembly Assembly Assembly


code IL Code IL Code IL Code

Common Language Runtime Class Loading and Layout


Execution support
Garbage Collection
Security
JIT Compiler

Native Code

Operating System Services - Windows


Cc c im ca CLR
vT ng qun l b nh
vH thng kiu d liu dng chung gia cc
ngn ng lp trnh
vTnh tng tc gia cc ngn ng
vc lp vi cu trc phn cng bn di
vC ch bo mt h thng
vAn ton kiu d liu

39 Lp trnh mi trng Windows


Cc lp c s ca .NET framework
vc xy dng theo phng php hng
i tng
vCung cp cc lp dng x l cc vn
thng gp phi khi pht trin ng dng
vc dng chung cho nhiu ngn ng lp
trnh khc nhau
vc t chc thnh nhng namespace
c lu tr trong assembly.

40 Lp trnh mi trng Windows


Cc lp c s ca .NET framework
vNamespace dng nhm cc lp v cc
interface c mi quan h lun l vi nhau.
vCc namespace c th c dng trong
bt c ngn ng no tng thch vi .NET.
vNamespace c s dng hn ch vic
dng cng mt tn cho 2 hay nhiu lp c
mc ch s dng khc nhau

41 Lp trnh mi trng Windows


Cc lp c s ca .NET framework
vAssembly l mt n v phn mm c
cha y cc thng tin v cc lp hin
thc, cc cu trc v cc interface hin
thc ng dng
vAssembly lu tr cc thng tin m t
chnh n, thng tin ny gi l meta data

42 Lp trnh mi trng Windows


Cc lp c s ca .NET framework
vSystem
v System.Collections
v System.Drawing
v System.IO
v System.Data
v System.Windows.Forms
v System.Web.UI
v System.Web.Services
v..

43 Lp trnh mi trng Windows


Giao din ngi dng
Window form: dng to ng dng cc b c
giao din ca s.
vWeb form: dng to ng dng web
vConsole: Dng to ng dng c
tng tc bng lnh ging nh giao din
Ms Dos

44 Lp trnh mi trng Windows


u im ca .NET Framework
vDng chung cho nhiu ngn ng lp trnh
vTo ng dng c lp vi mi trng phn
cng bn di
vCho php vit ng dng bng nhiu ngn
ng tng thch vi .NET
vT ng qun l ti nguyn
vD dng trin khai ng dng

45 Lp trnh mi trng Windows


Visual studio.NET IDE
vVisual Studio .NET Integrated
Development Environment (IDE) cung cp
mt giao din dng chung pht trin
nhiu loi d n khc nhau.
vCung cp mi trng thit k, vit
code, kim tra v sa li khi pht trin
ng dng
vCc thnh phn ca Visual Studio .NET
IDE
D n v gii php
Giao din ca cc thnh phn
46 Lp trnh mi trng Windows
D n v gii php

vTrong visual studio .NET ng dng c


to thnh t nhiu phn t v d nh file,
th mc
v t chc cc phn t trn .NET cung cp
d n v gii php
vD n (project): cho php xy dng, dch
v sa li cc thnh phn to nn ng
dng. D n c dch ra thnh file exe
hoc dll
vGii php (Solution): Bao gm mt hay
nhiu project
47 Lp trnh mi trng Windows
D n v project
Solution Project 1
Items
Project 1

Project 2
Project 2
Items

Miscellaneous Files

48 Lp trnh mi trng Windows


Q&A

49 Lp trnh mi trng Windows

You might also like