Tải bản đầy đủ (.pdf) (260 trang)

Bài giảng: Visual Basic 6.0 pps

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (5.69 MB, 260 trang )

















Bài giảng: Visual Basic 6.0

















VisualBasic6.0TrịnhKhắcThanh
rang:1/260
1
1
1
1M
M
M
Mụ


ục
c
c
cl
l
l
lụ


ục
c
c
c
1
1
1
1M

M
M
Mụ


ục
c
c
cl
l
l
lụ


ục
c
c
c


1
1
1
1
2
2
2
2L
L
L


à
à
àm
m
m
mquen
quen
quen
quenv
v
v
vớ


ới
i
i
ivisual
visual
visual
visualbasic
basic
basic
basic6.0
6.0
6.0
6.0



9
9
9
9
2.1Xâydựngứngdụngbanđầu 9
2.1.1Viếtứngdụngbanđầu 9
2.1.2XâydựngtínhnăngCalendar 9
2.1.3ThêmtínhnăngClock 11
2.2CáctínhnăngmớitrongVisualbasic6.0 11
2.2.1KháiquátvắntắtvềVisualbasic6.0 11
2.2.2Khaithácthếmạnhcủacácđiềukhiểnmởrộng 12
2.3LàmviệcvớimôitrườnglậptrìnhtrongVisualbasic 12
2.3.1TìmhiểucácphầncủaIDE 12
2.3.2ThêmvàxoácácthanhcôngcụtrongIDEcủaVisualbasic 13
2.3.3Thêmcácđiềukhiểnvàohộpcôngcụ 14
2.3.4Địnhhướngthôngquacửasổformvàcode 14
2.3.5Quảnlýứngdụngvớiprojectexplorer 14
2.3.6Cửasổproperties 14
2.3.7HiểnthịIDE 14
2.3.8Trợgiúp 15
3
3
3
3T
T
T

ì
ì
ìm

m
m
mhi
hi
hi
hiể


ểu
u
u
uVisual
Visual
Visual
Visualbasic
basic
basic
basic6
6
6
6


16
16
16
16
3.1Thuộctínhphươngthứcvàsựkiện 16
3.1.1Đốitượng 16
3.1.2Thuộctính 16

3.1.3Phươngthức 17
3.1.4Sựkiện 18
3.1.5Mốiquanhệgiữaphươngthức,thuộctínhvàsựkiện 18
3.1.6CửasổProperties 19
3.1.7Viếtchươngtrìnhsửdụngthuộctính,phươngthứcvàsựkiện 20
3.2Làmviệcvớimộtđềán 24
3.2.1Địnhnghĩa 24
3.2.2CửasổProjectExplorer 25
3.2.3Tạođềán 25
3.2.4Đổithuộctínhđềán 25
3.2.5Lưuvàđặttênđềán 26
VisualBasic6.0TrịnhKhắcThanh
rang:2/260
3.2.6Mởđềáncósẵn 26
3.2.7Thêmxoávàlưutậptintrongđềán 27
3.2.8Thêmđiềukhiểnvàođềán 29
3.2.9TạotệptinEXE 30
3.2.10Sửađổithuộctínhđềán 31
3.3Làmviệcvớinhiềuđềán 32
3.3.1SửdụngProjectGroup 32
3.3.2Thêmđềánvàonhómđềán 32
3.3.3Xoáđềántrongnhómđềán 33
4
4
4
4L
L
L

à

à
àm
m
m
mvi
vi
vi
việ


ệc
c
c
cv
v
v
vớ


ới
i
i
ic
c
c

á
á
ác
c

c

đ
đ
đi
i
i
iề


ều
u
u
ukhi
khi
khi
khiể


ển
n
n
n


34
34
34
34
4.1Cácloạiđiềukhiển 34

4.1.1Thaotácvớiđiềukhiển 34
4.2Cácđiềukhiểnnộitại 37
4.2.1Nútlệnh 37
4.2.2Hộpvănbản 38
4.2.3Điềukhiểnthanhcuộn 38
4.2.4ĐiềukhiểnTimer 39
4.2.5Điềukhiểnnhãn 39
4.2.6Checkbox: 39
4.2.7Mộtsốthuộctinhthôngdụng: 39
4.2.84.2.9Hộpdanhsách(Listbox) 39
4.3CácđiềukhiểnMới 40
5
5
5
5Nh
Nh
Nh
Nhậ


ập
p
p
pm
m
m

ô
ô
ôn

n
n
nl
l
l
lậ


ập
p
p
ptr
tr
tr
trì
ì
ì
ình
nh
nh
nh


41
41
41
41
5.1Chuẩnlậptrình(Codingconvention) 41
5.1.1Codingconventions 41
5.1.2Formdesignstandard 46

5.1.3Reportdesignstandard(forCrystalReport) 49
5.1.4Databasedesignstandards 50
5.2Thiếtkếtrướckhiviếtchươngtrình 51
5.3CácthaotácthôngdụngtrongcửasổCode 51
5.3.1SoạnthảoCode 51
5.3.2Mộtsốchứcnăngtựđộng 52
5.4Biếnhằngvàcáckiểudữliệu 52
5.4.1Khaibáobiến 52
5.4.2Khaibáongầm 52
VisualBasic6.0TrịnhKhắcThanh
rang:3/260
5.4.3Khaibáotườngminh 53
5.4.4KhaibáobiếnStatic 53
5.4.5Hằng 53
5.5Hàmvàthủtục 60
5.6Cấutrúcđiềukhiển 61
5.6.1Cấutrúcchọn 61
5.6.2Cấutrúclặp 62
5.6.3Làmviệcvớicấutrúc 63
5.7Gỡrốichươngtrình 63
5.7.1Mộtsốgiảiphápgiảmlỗi 63
5.7.2Gỡrối 64
5.8Bẫylỗi 65
5.8.1LệnhOnError 65
5.8.2Kếtthúcbẫylỗi 65
6
6
6
6L
L

L
Lậ


ập
p
p
ptr
tr
tr
trì
ì
ì
ình
nh
nh
nhx
x
x
xử


ửl
l
l

ý
ý
ýgiao
giao

giao
giaodi
di
di
diệ


ện
n
n
n


66
66
66
66
6.1Menu 66
6.1.1Dùngtrìnhsoạnthảomenuđểtạomenu 66
6.1.2Viếtchươngtrìnhđiềukhiểnmenu 67
6.2Hộpthoại 67
6.2.1Thôngđiệp(Messagebox) 67
6.2.2Hộpnhập(Inputbox) 68
6.2.3Cáchộpthoạithôngdụng(Commondialog) 68
6.2.4Hộpthoạihiệuchỉnh 69
6.3Thanhcôngcụ(ToolBar) 69
6.3.1Trongứngdụngđơngiản 69
6.3.2Nhúngđốitượng 69
6.4Thanhtrạngthái 69
6.5Xửlýchuộtvàbànphím 70

6.5.1sựkiệnchuột 70
6.5.2Hiệuchỉnhcontrỏchuột 70
6.5.3Sựkiệnbànphím 70
7
7
7
7X
X
X
Xử


ửl
l
l

ý
ý
ýt
t
t
tậ


ập
p
p
ptin
tin
tin

tin


72
72
72
72
7.1MôhìnhFSO(FileSystemObjectmodel) 72
7.2XửlýcáctậptinvớicácdònglệnhvàhàmI/Ocổđiển 72
7.2.1Cáckiểutruycậptậptin 72
7.3Cácđiềukhiểntrênhệthốngtậptin 75
7.3.1Hộpdanhsáchổđĩa 75
VisualBasic6.0TrịnhKhắcThanh
rang:4/260
7.3.2Hộpdanhsáchthưmục 75
7.3.3Hộpdanhsáchtậptin 76
7.4Điềukhiểnrichtextbox 76
7.4.1Phươngthứcloadfile 77
7.4.2Phươngthứcsavefile 77
8
8
8
8S
S
S
Sử


ửd
d

d
dụ


ụng
ng
ng
ngDLL
DLL
DLL
DLLv
v
v

à
à
àWindows
Windows
Windows
WindowsAPI
API
API
API


78
78
78
78
8.1DLLvàcấutrúccủaWindows 78

8.1.1Cáchộpthoạithôngdụng 78
8.2WINAPI 79
8.3SửdụngAPI 80
8.3.1TìmkiếmAPI 80
8.3.2CácDLLcủaWindows 80
8.3.3GọiAPI 81
8.4DùngAPIkhaitháckhảnăngMultimedia 84
8.4.1Lớpmultimedia 84
9
9
9
9Th
Th
Th
Thê
ê
ê
êm
m
m
mtr
tr
tr
trợ


ợgi
gi
gi
giú

ú
ú
úp
p
p
pv
v
v

à
à
ào
o
o
oứ


ứng
ng
ng
ngd
d
d
dụ


ụng
ng
ng
ng



96
96
96
96
9.1ThêmhỗtrợchoHelp 96
9.1.1ThuộctínhHelpFile 96
9.1.2ThuộctínhHelpContextID 96
9.2ThêmhỗtrợchoWHAT’STHISHELP 97
9.2.1KíchhoạtWhat’sThisHelpchobiểumẫu 97
9.3Cungcấphelpcùngvớiứngdụng 98
9.3.1CungcấpWinHelp 98
9.3.2CungcấpHTMLHelp 98
10
10
10
10L
L
L
Lậ


ập
p
p
ptr
tr
tr
trì

ì
ì
ình
nh
nh
nhh
h
h
hướ
ướ
ướ
ướng
ng
ng
ngđố
đố
đố
đối
i
i
it
t
t
tượ
ượ
ượ
ượng
ng
ng
ng



99
99
99
99
10.1Giớithiệuvềđốitượng 99
10.1.1ĐốitượngtrongVB 100
10.1.2ModulLớp 100
10.1.3Thamsốtuỳchọn 105
10.1.4Sựkiệncủalớp 106
10.1.5Huỷđốitượng 107
10.2Biếnđốitượng 108
10.2.1Tạođiềukhiểnlúcthihành 108
10.2.2Sựkiệncủamảngđiềukhiển 109
10.2.3Quảnlýđiềukhiểnnhưbiếnđốitượng 110
10.2.4Khaibáobiếnđốitượng 112
VisualBasic6.0TrịnhKhắcThanh
rang:5/260
10.3Tậphợp 114
10.3.1ThuộctínhControls 114
10.3.2Xácđịnhđiềukhiểntrênbiểumẫu 114
10.4BiểumẫuMDI 117
10.4.1Biểumẫucon(ChildForm) 117
10.4.2TạoInstancecủabiểumẫu 117
10.4.3Xácđịnhbiểumẫu 118
10.4.4Tạodanhsáchcửasổ 118
11
11
11

11C
C
C

ô
ô
ông
ng
ng
ngc
c
c
cụ


ụtrong
trong
trong
trongVB6
VB6
VB6
VB6


120
120
120
120
11.1ADD-INS 120
11.2CáccôngcụtrongADD-INS 120

11.2.1Trìnhcàiđặtứngdụng 120
11.2.2Trìnhđốitượngdữliệutựđộng 120
11.2.3Trìnhxâydựngdữliệutựđộng 121
11.2.4TrìnhthiếtkếAdd-instựđộng 122
11.2.5Trìnhthiếtkếtựđộng 122
11.2.6Tiệníchxâydựnglớp 123
11.2.7Trìnhtạothanhcôngcụtựđộng 123
11.3Trìnhđónggóivàtriểnkhaiứngdụng 124
11.3.1Pháthànhứngdụng 124
11.3.2Trìnhđónggóivàtriểnkhaiứngdụng 124
11.3.3MởtrìnhđónggóivàtriểnkhaitrongVB 124
11.3.4Mởtrìnhđónggóivàtriểnkhainhưmộtứngdụngđộclập 124
11.3.5ThihànhWizarddướichếđộsilent 125
11.3.6Setuptoolkit 125
11.4Bàitập 126
12
12
12
12Nh
Nh
Nh
Nhữ


ững
ng
ng
ngkh
kh
kh

khá
á
á
ái
i
i
ini
ni
ni
niệ


ệm
m
m
mc
c
c

ơ
ơ
ơb
b
b
bả


ản
n
n

nv
v
v
về


ềCSDL
CSDL
CSDL
CSDL


127
127
127
127
12.1Cơsởdữliệulàgì? 127
12.1.1Bộmáy(Engine)cơsởdữliệulàgì? 127
12.1.2Bảnvàtrường 128
12.1.3Recordsetlàgì? 129
12.1.4Cáckiểucơsởdữliệu 129
12.1.5Tạolượcđồcơsởdữliệu 130
12.1.6DùngVisualBasicđểtạomộtcơsởdữliệu 130
12.1.7Cácmốiquanhệ 140
VisualBasic6.0TrịnhKhắcThanh
rang:6/260
12.1.8Chuẩnhoá 141
12.2Sửdụngcửasổxemdữliệu 143
12.3Tạotrìnhthiếtkếmôitrườngdữliệu 145
12.3.1TạomộtgiaodiệnngườisửdụngvớithiếtkếDATAENVIRONMENT146

12.4Sửdụngđiềukhiểndữliệuđểtạogiaodiệnngườisửdụng 147
12.4.1Kếtnốivớimộtcơsởdữliệuvàlàmviệcvớicácmẩutin 148
12.4.2Tạomộtgiaodiệnngườisửdụngcơbản 150
12.4.3ThaotáctrêncácmẩutinthôngquađiềukhiểnADOData 151
12.4.4CácthuộctínhquantrọngkháccủađiềukhiểnADODATA 155
12.5Tổngkết 156
12.6HỏivàĐáp 157
13
13
13
13C
C
C

á
á
ác
c
c
cđố
đố
đố
đối
i
i
it
t
t
tượ
ượ

ượ
ượng
ng
ng
ngtruy
truy
truy
truyc
c
c
cậ


ập
p
p
pd
d
d
dữ


ữli
li
li
liệ


ệu
u

u
u


158
158
158
158
13.1SửdụngmôhìnhđốitượngDAO 158
13.1.1Lậptrìnhvớiđốitượng 160
13.1.2SửdụngđiềukhiểnDAOData 160
13.1.3SửdụngthuộctínhConnectcủađiềukhiểnDAODatađểtruycậpnguồn
dữliệubênngoài 160
13.2SửdụngDAOđểlàmviệcvớidữliệu 161
13.2.1DùngđốitượngDataBaseđểkếtnốivớimộtCSDL 161
13.2.2SửdụngđốitượngRecordset 162
13.2.3ChỉracáctuỳchọnchoRecordset 163
13.3SửdụngđốitượngFieldđểthaotácvớicáctrường 163
13.4SửdụngcácphươngthứcduyệtvớiđốitượngRecorset 164
13.4.1SửdụngBOFvàEOFđểduyệtquaRecordset 164
13.4.2DùngBOFvàEOFđểxácđịnhmộtRecordsetcórỗnghaykhông 164
13.4.3DùngthuộctínhRecordCoutđểxácđịnhsốmẩutintrongmộtrecordset
165
13.4.4DùngphươngthứcEditđểsửađổigiátrịtrongmộtmẩutin 165
13.4.5SửdụngphươngthứcAddNewvàUpdateđểtạomẩutinmới 166
13.4.6SửdụngAppendChunkđểnốidữliệuvàomộttrườngnhịphân 167
13.4.7SửdụngphươngthứcCloseđểđóngRecordset 168
13.5TìmkiếmdữliệutrongRecordsetvàbảng 168
13.5.1SửdụngphươngthứcFindđểđịnhvịmẩutintrongmộtrecordset 168
13.5.2SửdụngphươngthứcSeekđểthihànhtìmkiếmtheochỉmục 169

13.5.3LặpquasuốttậphợpIndexescủaTableDef 170
13.5.4SửdụngthuộctínhBookmarkđểghinhớvịtrítrongmộtRecordset 171
13.5.5sửdụngtậphợpErrorsvàđốitượngErrorđểxửlýlỗi 171
VisualBasic6.0TrịnhKhắcThanh
rang:7/260
13.6TạođốitượngđểthaotáctrêncấutrúccủamộtCSDL 172
13.6.1TạomộtCSDL 172
13.6.2SửdụngđốitượngTableDefđểthaotácvớibảng 173
13.7LàmviệcvớitàiliệuvànơichứaCSDL 178
13.8TạovàsửdụngcácthuộctínhhiệuchỉnhcủađốitượngDataBase 179
13.9Tổngkết 180
13.10Hỏivàđáp 181
14
14
14
14Thi
Thi
Thi
Thiế
ế
ế
ết
t
t
tl
l
l
lậ



ập
p
p
pb
b
b

á
á
áo
o
o
oc
c
c

á
á
áo
o
o
ov
v
v

à
à
àXu
Xu
Xu

Xuấ


ất
t
t
tth
th
th
thô
ô
ô
ông
ng
ng
ngtin
tin
tin
tin


182
182
182
182
14.1SửdụngthiếtkếDataReport 182
14.1.1ThiếtkếvớiDataReport 183
14.1.2XemvàxuấtDataReport 185
14.2SửdụngMicrosoftAccessđểlàmbáocáo 185
14.2.1ThihànhbáocáocủaAccesstừVisualBasic 185

14.3SửdụngCrystalreportđểlậpbáocáo 190
14.3.1CàiđặtCrystalReports 190
14.3.2DùngCrystalReportstạobáocáo 191
14.3.3ThihànhbáocáotrongứngdụngvớiđiềukhiểnActiveXcủaCrystal
Reports193
14.3.4SửdụngbảnmớihơncủaCrystalReports 193
15
15
15
15ODBC
ODBC
ODBC
ODBCv
v
v

à
à
àc
c
c

á
á
ác
c
c
cđố
đố
đố

đối
i
i
it
t
t
tượ
ượ
ượ
ượng
ng
ng
ngd
d
d
dữ


ữli
li
li
liệ


ệu
u
u
ut
t
t

từ


ừxa
xa
xa
xa


194
194
194
194
15.1ĐịnhcấuhìnhvàsửdụngODBC 194
15.1.1KiếntrúccủaODBC 194
15.1.2Tạonguồndữliệu 194
15.1.3TruycậpnguồndữliệuvớiđiềukhiểnDAODATAvàODBCDIRECT.
197
15.2Truycậpdữliệudùngđiềukhiểndữliệutừxa 198
15.2.1SửdụngRDC 198
15.3SửdụngRDOtrongchươngtrình 199
15.3.1QuyđịnhthuộctínhbộmáycơsởdữliệudùngđốitượngRDOENGINE.
200
15.3.2TruycậpmôitrườngđốitượngrdoEnvironment 200
15.3.3ThiếtlậpkếtnốidùngđốitượngrdoConnection 201
15.3.4ĐápứngsựkiệntrongRDO 203
15.4TạokếtnốIvớitrìnhthiếtkếuerconnecttion 204
15.5TruycậptruyvấnvớitrìngthiếtkếUserConnection 206
15.5.1GọithủtụcchứasẵntrongmộttrìnhthiếtkếUserConnection 206
VisualBasic6.0TrịnhKhắcThanh

rang:8/260
15.5.2DùngMicrosotfQueryđểxâydựngchuỗiSQLtrongtrìnhthiếtkế
UserConnection 208
15.6Sửdụngdữliệuvớiđốitượngrdorerultset 209
15.7ThihànhtruyvấnvớiđốitượngrdoQuery 209
16
16
16
16Truy
Truy
Truy
Truyc
c
c
cậ


ập
p
p
pc
c
c

ơ
ơ
ơs
s
s
sở



ởd
d
d
dữ


ữli
li
li
liệ


ệu
u
u
uv
v
v
vớ


ới
i
i
il
l
l
lớ



ớp
p
p
p


211
211
211
211
16.1Làmviệcvớilớpvàđốitượng 212
16.1.1Tạocâyphânnhánhlớpvớitiệníchxâydựnglớp 212
16.1.2Sửdụngbiểumẫunhưlớp 216
16.2TạoIntancebộichobiểumẫu 218
16.2.1Sửdụnglớpvàđốitượngtrongtruycậpcơsởdữliệu 218
16.3Tạocáclớpcầnsửdụngdữliệu 221
16.3.1Tạolớpxuấtdữliệu 223
16.3.2TriểnkhailớpthànhActiveServer 224
16.4Tổngkết 229
17
17
17
17Truy
Truy
Truy
Truyc
c
c

cậ


ập
p
p
pd
d
d
dữ


ữli
li
li
liệ


ệu
u
u
ut
t
t
từ


ừxa
xa
xa

xa


230
230
230
230
17.1Client/Servervàcácthànhphần 230
17.1.1CấutrúcCilent/ServerThree-Tier 230
17.2251
18
18
18
18Đố
Đố
Đố
Đối
i
i
it
t
t
tượ
ượ
ượ
ượng
ng
ng
ngd
d

d
dữ


ữli
li
li
liệ


ệu
u
u
uActiveX
ActiveX
ActiveX
ActiveX


252
252
252
252
18.1XâydựngứngdụngVisualbasicvớiADO 252
18.1.1TìmhiểucấutrúcOLEDB/ADO 252
18.1.2CàiđặtvàthiếtlậpthamchiếuđếnADOtrongứngdụngVisualbasic 253
18.1.3SửdụngADOvớicácthưviệnđốitượngtruycậpdữliệukhác 254
18.1.4DùngđốitượngconnectioncủaADOđểkếtnốivớinguồndữliệu 254
18.1.5Làmviệcvớicontrỏ 255
18.1.6KhoábảnghitrongADO 257

18.1.7SửdụngđốitượngRecordsetcủaADOđểthaotácvớidữliệu 257
18.1.8TạoRecordsetngắtkếtnối 258
18.2SửdụngdịchvụdữliệutừxacủaADO 259
VisualBasic6.0TrịnhKhắcThanh
rang:9/260
2
2
2
2L
L
L

à
à
àm
m
m
mquen
quen
quen
quenv
v
v
vớ


ới
i
i
ivisual

visual
visual
visualbasic
basic
basic
basic6.0
6.0
6.0
6.0
2.1
2.1
2.1
2.1X
X
X

â
â
ây
y
y
yd
d
d
dự


ựng
ng
ng

ngứ


ứng
ng
ng
ngd
d
d
dụ


ụng
ng
ng
ngban
ban
ban
banđầ
đầ
đầ
đầu
u
u
u
2.1.1
2.1.1
2.1.1
2.1.1Vi
Vi

Vi
Viế
ế
ế
ết
t
t
tứ


ứng
ng
ng
ngd
d
d
dụ


ụng
ng
ng
ngban
ban
ban
banđầ
đầ
đầ
đầu
u

u
u
Cáchtốtnhấtđểhọclậptrìnhlàviếtchươngtrình.Vậyhãythửviếtchươngtrình
hiểnthịlịchbiểu,trongđóchophépngườisửdụng:
•Hiểnthịlịchbiểucủathánghiệnhành
•Duyệtquacáctháng
•Hiểnthịđồnghồbáogiờhiệnhành
Nếubạnchorằngchươngtrìnhnàycóvẻnặngnềchongườimớihọc,đừnglo
lắng.Visualbasiclàmhếtmọiviệcchobạn.KhácvớingônngữC++,bạnphảiviết
mỗithứmộtít,Visualbasiccungcấpmứcđọcaohơncủalậptrìnhtựđộng.Nhưvậy,
bạncóthểlàmnhiềuthứmàkhôngphảilậptrìnhnhiều.
Tuynhiên,đừnghiểusai“khônglậptrìnhnhiều”nghĩalà“khôngcónhiềutính
năngmạnh”Visualbasiclàmộtngônngữrấtmạnh.Tacóthểlậptrìnhđểlàm“mọi
thứ”nếucần.TacũngcóthểkhaitháckhảnăngtựđộngcủaVisualbasicđểviết
chươngtrìnhthậtnhanh.Chọnlựalàởngườilậptrình.Visualbasicđủlinhhoạtđể
hỗtrợchongườilậptrìnhtừngườimớihọcđếnlậptrìnhchuyênnghiệp.
2.1.2
2.1.2
2.1.2
2.1.2X
X
X

â
â
ây
y
y
yd
d

d
dự


ựng
ng
ng
ngt
t
t

í
í
ính
nh
nh
nhn
n
n

ă
ă
ăng
ng
ng
ngCalendar
Calendar
Calendar
Calendar
Bâygiờtabắtđầuxâydựngcáctínhnăngcủaứngdụng.Đầutiên,tacầnmộtlịch

biểu.TacóthểtựtạonóhoặcsửdụnglịchbiểucósẵncủaVisualbasic(đâylàmột
điềukhiểnActiveX).Tachọncáchthứ2.
TừmenuProject,chọnComponents.Bởivì,mặcđịnhtấtcảcácđiềukhiển
ActiveXcủaVisualbasickhôngđượcnạptựđộng.Muốndùngbạnphảichọntừ
menuComponents.
TronghộpthoạiComponentschọnWindowsCommonControls2.6.0vànhấnOK.
VisualBasic6.0TrịnhKhắcThanh
rang:10/260
ActivateX
ActivateX
ActivateX
ActivateXl
l
l

à
à
àg
g
g

ì
ì
ì?
?
?
?
ActivateXlàsảnphẩmcủaMicrosoftchophéptatạonhữngchươngtrìnhnhỏ,gọi
làcácthànhphần(componet)vàcácđiềukhiển(control)đểcóthểthêmvàocác
chươngtrìnhlớn.Đócóthểlàcácchươngtrìnhđộclập(Standaloneprogram)haycác

chươngtrìnhchạytrênInternet.TacóthểdùngVisualbasicđểtựtạocácđiềukhiển
ActivateX.Phầnnàysẽđượctrìnhbàytrongmộtriêng.
Đếnđâyđiềukhiểnlịchđượcnạpvàothanhcôngcụ.Tênchínhthứccủanólà
điềukhiểnActivateXMonthView.
Kếtiếptađưađiềukhiểnvàobiểumẫu.
Th
Th
Th
Thê
ê
ê
êm
m
m

đ
đ
đi
i
i
iề


ều
u
u
ukhi
khi
khi
khiể



ển
n
n
nMonthView
MonthView
MonthView
MonthViewv
v
v

à
à
ào
o
o
obi
bi
bi
biể


ểu
u
u
um
m
m
mẫ



ẫu
u
u
u
ChọnbiểutượngđiềukhiểnMonthViewtừhộpcôngcụ
Nhấnđúpchuộtlênbiểutượngđiềukhiểnđểđưanóvàobiểumẫu.
BạnvừatạoxongchươngtrìnhnhấnF5đểchạy.
VisualBasic6.0TrịnhKhắcThanh
rang:11/260
2.1.3
2.1.3
2.1.3
2.1.3Th
Th
Th
Thê
ê
ê
êm
m
m
mt
t
t

í
í
ính

nh
nh
nhn
n
n

ă
ă
ăng
ng
ng
ngClock
Clock
Clock
Clock
Tínhnăngkếtiếplàhiểnthịgiờ.TasẽdùngđiềukhiểnActivateXTimerlàmộtđiều
khiểnnộitạicủaVisualbasic.Điềukhiểnnộitịaluônđượcnạpsẵntronghộpcôngcụ.
Th
Th
Th
Thê
ê
ê
êm
m
m
mTimer
Timer
Timer
Timerv

v
v

à
à
ào
o
o
oứ


ứng
ng
ng
ngd
d
d
dụ


ụng
ng
ng
ng
Chọnvàobiểutượngtronghộpcôngcụ
NhấnchuộtlênđiềukhiểnTimertrênhộpcôngcụđểđưanóvàobiểumẫu.
ĐểhiểnthịthờigiantalậptrìnhđiềukhiểnTimer.TadùngthuộctínhIntervalcủa
timerđểquyđịnhviệcđếmthờigian.MộtđơnvịcủaIntervallà1/1000giây.Dođó,
đểquyđinhnhịpđếmlànửagiâytađặtIntervallà500.Cứmỗinửagiâychươngtrình
sẽlàmmộtviệcgìđó.Ởđây,tamuốnhiểnthịthờigianhiệnhành.Tasẽdùngnhãn

(label)đểhiểnthịthờigian.
Hi
Hi
Hi
Hiể


ển
n
n
nth
th
th
thị


ịTimer
Timer
Timer
Timer
ThêmLabelvàobiểumẫu.
Chọnđiềukhiểnnhãntừhộpcôngcụvàkéonóvàobiểumẫu.
Th
Th
Th
Thủ


ủt
t

t
tụ


ục
c
c
cs
s
s
sự


ựki
ki
ki
kiệ


ện
n
n
nl
l
l

à
à
àg
g

g

ì
ì
ì?
?
?
?
Mộtthủtụcsựkiệnlàmộtđoạnchươngtrìnhsẽthihànhkhisựkiệnđóxảyra.Ví
dụ,khingườisửdụngnhấnvàonútCommandButton,sựkiệnclick()sẽđượcsinhra.
VisualbasiccungcấpthủtụcCommandButton_Clickchotalậptrìnhđểứngdụng
phảnứngđốivớiviệcnhấnnútCommandBuuton.TươngtựvớiTimer.Khiđúngnhịp
đếmTimersựkiệnTimer()sẽphátra.
Đểhiểnthịthờigiantrênnhãnlabeltađưadònglệnhsauvàothủtụcsựkiệncủa
timer:Label1.Caption=time
PrivateSubTimer1_Timer()
Label1.Caption=Time
EndSub
2.2
2.2
2.2
2.2C
C
C

á
á
ác
c
c

ct
t
t

í
í
ính
nh
nh
nhn
n
n

ă
ă
ăng
ng
ng
ngm
m
m
mớ


ới
i
i
itrong
trong
trong

trongVisual
Visual
Visual
Visualbasic
basic
basic
basic6.0
6.0
6.0
6.0
2.2.1
2.2.1
2.2.1
2.2.1Kh
Kh
Kh
Khá
á
á
ái
i
i
iqu
qu
qu
quá
á
á
át
t

t
tv
v
v
vắ


ắn
n
n
nt
t
t
tắ


ắt
t
t
tv
v
v
về


ềVisual
Visual
Visual
Visualbasic
basic

basic
basic6.0
6.0
6.0
6.0
NếubạnchưaquenvớiVisualbasic,tựađềcủaphầnnàycóthểlàmnhầmlẫnđôi
chút.Rõràngrằngnếubạnlàngườimớihọcngônngữ,mọithứvềVisualbasicđều
mớicả.Dùvậy,bạnkhôngnênbỏquaphầnnày,nhấtlàcácđiềukhiểnActivateX
mới.ĐốivớicácbạnđãquenthuộccácphiênbảnVisualbasictrượcthìphầnnàythật
hữuích.
Visualbasic6.0córấtnhiềutínhnăngmới.Cácđiềukhiểnmớichophéptaviết
chươngtrìnhứngdụngkếthợpgiaodiện,cáchxửlývàtínhnăngcủaOffice97và
trìnhduyệtWEBinternetexplorer.Khôngnhấtthiếtphảicómộtinstancecủađiều
khiểntrênbiểumẫu,Visualbasic6chophéptalậptrìnhđểthêmđiềukhiểnvàođềán
tựđộngvàtacóthểtạoracácđiềukhiểnActivateXhiệuchỉnh.
Mộtvàicảitiếnchophéplàmviệcvớicácứngdụngtruycậpdữliệuởtầmcỡvĩ
môliênquanđếnhàngtrămhàngnghìnngườisửdụngquamạngInternet.
2.2.2
2.2.2
2.2.2
2.2.2Khai
Khai
Khai
Khaith
th
th
thá
á
á
ác

c
c
cth
th
th
thế
ế
ế
ếm
m
m
mạ


ạnh
nh
nh
nhc
c
c
củ


ủa
a
a
ac
c
c


á
á
ác
c
c

đ
đ
đi
i
i
iề


ều
u
u
ukhi
khi
khi
khiể


ển
n
n
nm
m
m
mở



ởr
r
r
rộ


ộng
ng
ng
ng
2.2.2.1
2.2.2.1
2.2.2.1
2.2.2.1s
s
s
sự


ựki
ki
ki
kiệ


ện
n
n

nValidate
Validate
Validate
Validatev
v
v

à
à
àthu
thu
thu
thuộ


ộc
c
c
ct
t
t

í
í
ính
nh
nh
nhCausesValidation
CausesValidation
CausesValidation

CausesValidation
PhầnmởrộngđầutiênliênquanđếntấtcảcácđiềukhiểnActivateXcơbảnlà
việcthêmvàosựkiệnValidatevàthuộctínhCausesValidation.Trướccácphiênbản
VisualBasic6.0TrịnhKhắcThanh
rang:12/260
Visualbasic6,nếubạnkiểmtratínhhợplệcủamộttừnhậpvàohộpvănbản,bạn
phảiviếtthủtụcsựkiệnLostForcuscủaTextBox.Nếunhậpsaibạnphảigọiphương
thứcSetForcusđểbuộcngườidùngnhậplạidữliệuđúng.Thỉnhthoảnglogiccủalập
trìnhnàylàmngườidùngkhóchịukhihọkhôngbaogiờnhậpđúngdữliệu,họcóthể
bịkhoáchặtởđiềukhiểnđóhọcũngcũngkhôngnhấncảnúthelpđểxemhướngdẫn
chitiết.SựkiệnValidatevàthuộctínhCausesValidationgiảiquyếtvấnđềđó.
2.2.2.2
2.2.2.2
2.2.2.2
2.2.2.2C
C
C

á
á
ác
c
c
cc
c
c
cả


ải

i
i
iti
ti
ti
tiế
ế
ế
ến
n
n
nđồ
đồ
đồ
đồho
ho
ho
hoạ


ạm
m
m
mớ


ới
i
i
il

l
l

à
à
àm
m
m
mứ


ứng
ng
ng
ngd
d
d
dụ


ụng
ng
ng
ngth
th
th
thê
ê
ê
êm

m
m
msinh
sinh
sinh
sinhđộ
độ
độ
động
ng
ng
ng
Visualbasicluônchophépbạnsửdụngđồhoạđểlàmchươngtrìnhsốngđộngvà
Microsoftcókhảnăngđồhoạmởrộngchonhiềuđiềukhiển.Đầutiên,điềukhiển
ImageListgiờđâyhỗtrợcáctậptin.gif.Phầnmởrộngnàyrấtquantrọngbởivìnó
liênquanđếncácđiềukhiểncósửdụngđiềukhiểnImageList.
CácđiềukhiểnListViewvàTabStripcóphầnmởrộngchophépsửdụnghìnhảnh
vàbiểutượngđểtrangtrívàminhhoạ.ĐiềukhiểnlistViewchophéptạomộtảnhnền
chovùnglàmviệc.Ảnhnềncóthểđượcđặtgiữatrảiđềuhoặcđặtởmộtgócbấtkỳ.
2.2.2.3
2.2.2.3
2.2.2.3
2.2.2.3Ng
Ng
Ng
Ngà
à
à
ày
y

y
yth
th
th
thá
á
á
áng
ng
ng
ngv
v
v
vớ


ới
i
i

đ
đ
đi
i
i
iề


ều
u

u
ukhi
khi
khi
khiể


ển
n
n
nMonthView
MonthView
MonthView
MonthViewv
v
v

à
à
àDataTimepicker
DataTimepicker
DataTimepicker
DataTimepicker
VB6có2điềukhiểnđưaragiảiphápmớiđểxemxétvàchọnlựangàytháng,
MonthViewvàDataTimePicker.Điềulýthúcủacácđiềukhiểnlàchúngchophépta
xemvàchọnngàytrongngữcảnhlịchbiểu.ĐiềukhiểnMonthViewtrìnhbàymột
lịchbiểuđầyđủđểtacóthểduyệttheotừngngàyhoặctừngtháng.Điềukhiển
DateTimePickertươngtựnhưMonthView,nhưngcóđiểmkháclàlịchbiểusẽthả
xuốngkhingườidùngnhấnvàomũitênxuốngcủađiềukhiển.
2.3

2.3
2.3
2.3L
L
L

à
à
àm
m
m
mvi
vi
vi
việ


ệc
c
c
cv
v
v
vớ


ới
i
i
im

m
m

ô
ô
ôi
i
i
itr
tr
tr
trườ
ườ
ườ
ường
ng
ng
ngl
l
l
lậ


ập
p
p
ptr
tr
tr
trì

ì
ì
ình
nh
nh
nhtrong
trong
trong
trongVisual
Visual
Visual
Visualbasic
basic
basic
basic
2.3.1
2.3.1
2.3.1
2.3.1T
T
T

ì
ì
ìm
m
m
mhi
hi
hi

hiể


ểu
u
u
uc
c
c

á
á
ác
c
c
cph
ph
ph
phầ


ần
n
n
nc
c
c
củ



ủa
a
a
aIDE
IDE
IDE
IDE
IDElàtênviếttắtcủamôitrườngpháttriểntíchhợp(InegreatedDevelopment
Enviroment).IDElànơitạoracácchươngtrìnhVB.
IDEcủaVBlànơitậptrungcácmenu,thanhcôngcụvàcửasổđểtạorachương
trình.MỗiphầncủaIDEcócáctínhnănganhehưởngđếncáchoạtđộnglậptrình
khácnhau.Thanhmenuchophépbạntácđộngcũngnhưquảnlýtrựctiếptrêntoàn
bộứngdụng.Thanhcôngcụchophéptruycậpcácchứcnăngcủathanhmenuqua
cácnúttrênthanhcôngcụ.
VisualBasic6.0TrịnhKhắcThanh
rang:13/260
Cácbiểumẫu(Form)-khốixâydựngcácchươngtrìnhVisualbasic-xuấthiện
trongcửasổform.Hộpcôngcụđểthêmcácđiềukhiểnvàocácbiểumẫucủađềán.
Projectexplorerhiểnthịcácđềánmàbạnđanglàmcũngnhưcácthànhphầncủacác
đềán.Bạnduyệtvàcàiđặtcácthuộctínhcủađiềukhiển,biểumẫuvàmoduletrong
cửasổproperty.Cuốicùng,bạnbốtrívàxemxétmộthoặcnhiềubiểumẫutrênmàn
hìnhthôngquacửasổformlayout.
2.3.2
2.3.2
2.3.2
2.3.2Th
Th
Th
Thê
ê

ê
êm
m
m
mv
v
v

à
à
àxo
xo
xo
xoá
á
á
ác
c
c

á
á
ác
c
c
cthanh
thanh
thanh
thanhc
c

c

ô
ô
ông
ng
ng
ngc
c
c
cụ


ụtrong
trong
trong
trongIDE
IDE
IDE
IDEc
c
c
củ


ủa
a
a
aVisual
Visual

Visual
Visualbasic
basic
basic
basic
Thanhcôngcụlàtậphợpcácnútbấmmangbiểutượngchứatrongmộtthanh
thườngđặtdướithanhmenu.Cácnútnàyđảmnhậncácchứcnăngthôngdụngtrong
cấutrúcmenucủaVisualbasic.Thanhcôngcụrấthửuích,thayvìphảilầnlượtchọn
quamenuvàmenucon,tanhấnmộtnútbấmnàođótrongthanhcôngcụđểgọimột
chứcnăngtươngtựtrênmenu.
S
S
S
Sử


ửd
d
d
dụ


ụng
ng
ng
ngthanh
thanh
thanh
thanhc
c

c

ô
ô
ông
ng
ng
ngc
c
c
cụ


ụdebug:
debug:
debug:
debug:Thanhcôngcụdebugdùngđểkiểmtrachương
trìnhvàgiảiquyếtcáclỗicóthểxảyra.Khigỡrốichươngtrình,talàmmộtsốviệc
nhưchạytừngdònglệnhchươngtrình,kiểmtragiátrịcácbiến,vàdừngchươngtrình
tạimộtđiểmnghingờhoặcdướinhữngđiềukiệnnàođó.
S
S
S
Sử


ửd
d
d
dụ



ụng
ng
ng
ngthanh
thanh
thanh
thanhc
c
c

ô
ô
ông
ng
ng
ngc
c
c
cụ


ụEdit:
Edit:
Edit:
Edit:ThanhcôngcụEditđượcdùngđểviếtchương
trìnhtrongcửasổcode.CáctínhnăngcủathanhcôngcụEdittươngtựnhưcáctính
năngkhácởmenuedit.BạncóthểCut,Pastevănbản
MộttínhnănglýthúcủaIDElàthanhcôngcụEditdùngtínhnăngCopleteWord,

tựđộnghoàntấttừkhoá.TínhnăngCompleteWordrấthữuíchđểtránhcáclỗicú
pháp.
S
S
S
Sử


ửd
d
d
dụ


ụng
ng
ng
ngthanh
thanh
thanh
thanhc
c
c

ô
ô
ông
ng
ng
ngc

c
c
cụ


ụForm
Form
Form
FormEditor:
Editor:
Editor:
Editor:Thanhcôngcụformeditordùngđểkéo
giãn,dichuyểnvàsắpxếpcácđiềukhiểntrênbiểumẫu.ThanhcôngcụFormeditor
cócáctínhnăngnhưmenuFormat.
VisualBasic6.0TrịnhKhắcThanh
rang:14/260
S
S
S
Sử


ửd
d
d
dụ


ụng
ng

ng
ngthanh
thanh
thanh
thanhc
c
c

ô
ô
ông
ng
ng
ngc
c
c
cụ


ụchu
chu
chu
chuẩ


ẩn(Standard):
n(Standard):
n(Standard):
n(Standard):Làthanhcôngcụtrọngyếutrong
IDE.Thanhcôngcụchuẩncungcấpnhiềutínhnăngtrongmenufile,

file,
file,
file,Project,
Project,
Project,
Project,Debug,
Debug,
Debug,
Debug,
vàRun.
Run.
Run.
Run.
2.3.3
2.3.3
2.3.3
2.3.3Th
Th
Th
Thê
ê
ê
êm
m
m
mc
c
c

á

á
ác
c
c

đ
đ
đi
i
i
iề


ều
u
u
ukhi
khi
khi
khiể


ển
n
n
nv
v
v

à

à
ào
o
o
oh
h
h
hộ


ộp
p
p
pc
c
c

ô
ô
ông
ng
ng
ngc
c
c
cụ



Hộpcôngcụlàbảngchứacácđiềukhiểnvàtathiếtkếgiaodiệnngườisửdụng

bằngcáchchọncácđiềukhiểntừhộpcôngcụvàđưachúngvàocácbiểumẫu.
MộtsốđiềukhiểncósẵntrongVisualbasicvàkhôngthểgỡbỏkhỏihộpcôngcụ.
MộtsốkhácnằmbênngoàiVisualbasicvàchứatrongcáctậptinmàcóphầnmởrộng
là.ocx.Cácđiềukhiểnnàycóthểđượcthêmvàohoặcgỡbỏkhỏithanhcôngcụ.
ChúngtasẽtrởlạichitiếtvềcácloạiđiềukhiểntrongVisualbasictrongmột
chươngriêng.
2.3.4
2.3.4
2.3.4
2.3.4Đị
Đị
Đị
Định
nh
nh
nhh
h
h
hướ
ướ
ướ
ướng
ng
ng
ngth
th
th
thô
ô
ô

ông
ng
ng
ngqua
qua
qua
quac
c
c
cử


ửa
a
a
as
s
s
sổ


ổform
form
form
formv
v
v

à
à

àcode
code
code
code
Nếuđiềukhiểnlànhữngkhốibêtôngmàtatậphợptrongứngdụngthìbiểumẫu
lànềnmóngđểtaxâydựngcáckhốinày.
CácbiểumẫuchứatrongcửasổThiếtkếbiểumẫu.Tasẽlàmviệctrongcửasổ
nàyđểthêmcácđiềukhiểnvàobiểumẫu.
Đốivớitừngcửasổthiếtkếmẫu,tacũngcóthểmởcửasổcode.Cửasổcodelà
nơitaviếtcácđoạnchươngtrìnhchạybêndướibiểumẫu.Tacóthểmởcửasổcode
bằngcáchnhấnđúplênbiểumẫuhoặcđiềukhiển,hoặcchọncodetừmenu.
2.3.5
2.3.5
2.3.5
2.3.5Qu
Qu
Qu
Quả


ản
n
n
nl
l
l

ý
ý
ýứ



ứng
ng
ng
ngd
d
d
dụ


ụng
ng
ng
ngv
v
v
vớ


ới
i
i
iproject
project
project
projectexplorer
explorer
explorer
explorer

ProjectexplorertrongVisualbasicgiúpquảnlývàđịnhhướngnhiềuđềán.
Visualbasicchophéptổchứcnhiềuđềántrongmộtnhómgọilàprojectgroup.Tacó
thểlưutậphợpcácđềántrongVisualbasicthànhmộttậptinnhómđềán.Cáctậptin
nàycóphầnmởrộnglà.vbg.
2.3.6
2.3.6
2.3.6
2.3.6C
C
C
Cử


ửa
a
a
as
s
s
sổ


ổproperties
properties
properties
properties
Mỗithuộctínhcómộthoặcnhiềugiátrị.Cửasổpropertiesgiúpbạnxemsửađổi
vàđiềukhiểncácthuộctínhcủacácđiềukhiểnActivateXtrongchươngtrình.
2.3.7
2.3.7

2.3.7
2.3.7Hi
Hi
Hi
Hiể


ển
n
n
nth
th
th
thị


ịIDE
IDE
IDE
IDE
TacóthểxemIDEcủaVisualbasicbằng2cách:MDIhoặcSDI.Hiểnthịkiểu
MDI(Multipledocumentinterface)chophéptrìnhbàytấtcảcáccửasổthànhphần
trongIDEnhưlàcáccửasổconchứatrongmộtcửasổlớn.
TráilạiđốivớihiệnthịSDI(singledocumentinterface),cáccửasổthànhphần
hiểnthịmộtcáchđộclậpvớinhau.Khôngcómộtcửasổchínhđểchứavàthốngnhất
cácthànhphần.
Chuy
Chuy
Chuy
Chuyể



ển
n
n
nđổ
đổ
đổ
đổi
i
i
it
t
t
từ


ừhi
hi
hi
hiể


ển
n
n
nth
th
th
thị



ịMDI
MDI
MDI
MDIsang
sang
sang
sangSDI
SDI
SDI
SDI
-ChọnTools\option\
-TrêntangAdvance,chọnhộpđánhdấuSDIdevelopmentEnviroment;nhấn
OK.IDEcủaVisualbasicsẽđịnhlạicấuhìnhchohiểnthịSDItronglầnkhởi
độngtiếpsaucủaVisualbasic.
-NhấnOK,thoátvàkhởiđộnglạiVisualbasic
VisualBasic6.0TrịnhKhắcThanh
rang:15/260
2.3.8
2.3.8
2.3.8
2.3.8Tr
Tr
Tr
Trợ


ợgi
gi

gi
giú
ú
ú
úp
p
p
p
KhôngnhữnglàmchủngônngữlậptrìnhVisualbasic,bạncũngcầnphảisửdụng
thuầnthụcmôitrườngVisualbasiccũngnhưhiểucácthôngđiệpmàVisualbasicgửi
ra.Microsoftcungcấpmộttrongnhữnghệthốngtrợgiúptốtnhấtchocáccôngcụ
pháttriểnứngdụng.
Tr
Tr
Tr
Trợ


ợgi
gi
gi
giú
ú
ú
úp
p
p
pnh
nh
nh

nhạ


ạy
y
y
yv
v
v
vớ


ới
i
i
ing
ng
ng
ngữ


ữc
c
c
cả


ảnh
nh
nh

nh
TạimộtvịtríbấtkỳtrongVisualbasic,bạnnhấnphímF1,núttrợgiúp.Nósẽ
kíchhoạthệthốngtrợgiúpcủaVisualbasic,nơicóthểgiảithíchhoặcđưaranhững
lờikhuyên,cũngnhưcácđoạnchươngtrìnhmẫu.
VisualbasiccóhệthốngtrợgiúplàhệthôngthưviệnMSDNđượcsửdụngrộng
rãichocáccôngcụpháttriểncủaMicrosoftđểcungcấptruycậpđếnsổtayhướng
dẫnsửdụngsảnphẩmtrựctuyến.
VisualBasic6.0TrịnhKhắcThanh
rang:16/260
3
3
3
3T
T
T

ì
ì
ìm
m
m
mhi
hi
hi
hiể


ểu
u
u

uVisual
Visual
Visual
Visualbasic
basic
basic
basic6
6
6
6
3.1
3.1
3.1
3.1Thu
Thu
Thu
Thuộ


ộc
c
c
ct
t
t

í
í
ính
nh

nh
nhph
ph
ph
phươ
ươ
ươ
ương
ng
ng
ngth
th
th
thứ


ức
c
c
cv
v
v

à
à
às
s
s
sự



ựki
ki
ki
kiệ


ện
n
n
n
3.1.1
3.1.1
3.1.1
3.1.1Đố
Đố
Đố
Đối
i
i
it
t
t
tượ
ượ
ượ
ượng
ng
ng
ng

TrongVB,đốitượnglànhữngthànhphầntạonêngiaodiệngiữangườisửdụng
choứngdụng.Cácđiềukhiểnlànhữngđốitượng.Nhữngnơichứa(container)như
biểumẫu(form),khung(frame),gayhộpảnh(picturebox)cũnglàmộtđốitượng.
VB6hỗtrợmộtcáchlậptrìnhtươngđốimới,lậptrìnhhướngđốitượng(Object
OrientedProgramming).
Tronglậptrìnhcổđiển,tacókiểulậptrìnhtheocấutrúc.Nếunhưứngdụngđược
thiếtkếđểgiảiquyếtmộtvấnđềlớn,thìlậptrìnhviêncóthểchiathànhnhiềuvấnđề
nhỏvàviếtcácđoạnchươngtrìnhnhỏđểgiảiquyếtriêngtừngcái.
Vớilậptrìnhhướngđốitượng,lậptrìnhviênsẽchianhỏvấnđềcầngiải
quyếtthànhcácđốitượng.Từngđốitượngsẽcóđờisốngriêngcủanó.Nócócácđặc
điểmmàtagọilàthuọcctínhvànhữngchứcnăngriêngbiệtmàtagọilàphươngthức.
lậptrìnhviêncầnđưaracácthuộctínhvàphơưngthứcmàcácđốitượngcầnthểhiện.
3.1.2
3.1.2
3.1.2
3.1.2Thu
Thu
Thu
Thuộ


ộc
c
c
ct
t
t

í
í

ính
nh
nh
nh
Nóimộtcáchđơngiản,thuộctínhmôtảđốitượng.
Mỗiđốitượngcộngđềucómộtbộthuộctínhmôtảđốitượng.Biểumẫuvàđiều
khiểnđềucóthuộctính.Thậmchímànhìnhvàmáyinlànhữngđốitượngchỉcho
phépcanthiệplúcthihànhcũngcóthuộctính.
Mặcdùmỗiđốitượngcónhữngbộthuộctínhkhácnhau,nhưngtrongđóvẫncòn
mộtsốthuộctínhthôngdụngchohầuhếtcácđiềukhiển.(bạncóthểxemtoànbộ
thuộctínhcủamộtđiềukhiểnbằngcáchchọnvàođiềukhiểnvàmởcửasổ
PROPERTIEStrongVisualBasic)
Cácthuộctínhthôngdụng:
Thu
Thu
Thu
Thuộ


ộc
c
c
ct
t
t

í
í
ính
nh

nh
nhGi
Gi
Gi
Giả


ải
i
i
ith
th
th
thí
í
í
ích
ch
ch
ch
LeftVịtrícạnhtráicủađiềukhiểnsovớivậtchứanó
TopVịtrícạnhtrêncủađiềukhiểnsovớivậtchứanó
HieghtChiềucaocủađiềukhiển
WidthChiềurộngcủađiềukhiển
NameMộtgiátrịchuỗiđượcdùngđểnóiđếnđiềukhiển
EnableGiátrịlogic(TruehoặcFalse)quyếtđịnhngườisửdụngcóđược
làmviệcvớiđiềukhiểnhaykhông
VisibleGiátrịlogic(TruehoặcFalse)quyếtđịnhngườisửdụngcóthấy
điềukhiểnhaykhông
MộtthuộctínhquantrọngkháclàBorderStyle,quyếtđịnhcácthànhphầncủacửa

sổ(nhưthanhtiêuđề,nútphóngtothunhỏ…)màmộtbiểumẫusẽcó
VisualBasic6.0TrịnhKhắcThanh
rang:17/260
Bảngsauđâyliệtkê6giátrịcủathuộctínhnày.
Gi
Gi
Gi
Giá
á
á
átr
tr
tr
trị


ịHi
Hi
Hi
Hiệ


ệu
u
u
uứ


ứng
ng

ng
ngtr
tr
tr
trê
ê
ê
ên
n
n
nbi
bi
bi
biể


ểu
u
u
um
m
m
mẫ


ẫu
u
u
u
0–NoneKhôngcócạnhviền,khôngthanhtiêuđề,khôngđượcdi

chuyển.Giátrịnàythườngđượcdùngchocửasổkhởiđộng
chươngtrình
1–FixedSinglekhôngthểcogiãncửasổbằngcáchkéorêcạnhviền,nhưngcó
thểdùngnútphóngtohoặcthunhỏ.Giátrịnàyđượcdùngcho
nhữngcửasổcókíchcỡcốđịnhnhưngvẫnxuấthiệntrên
thanhTaskbar
2–SizableCóthểcogiãncửasổbằngcáchkéorêcạnhviềnvàdùngnút
phóngtohoặcthunhỏ.Giátrịdùngchonhữngcửasổthông
dụng
3–FixedDialogKhôngthểcogiãnvàkhôngcóthểdùngnútphóngtohoặc
thunhỏ,.Giátrịnàydùngchocáccửasổđơngiảnnhưmật
khẩu
4-FixedTool
Window
tươngtựFixedDialognhưngthanhtiêuđềngắnhơn.Fonttrên
thanhtiêuđềvànútClosecũngnhỏhơn.giátrịnàydùngcho
cácthanhcôngcụdiđộng.
5–SizableTool
Window
TươngtựnhưFixedToolWindownhưngcóthểcogiãnđược.
GiátrịnàydùngchonhữngcửasổPropertiescủaVisualBasic
3.1.3
3.1.3
3.1.3
3.1.3Ph
Ph
Ph
Phươ
ươ
ươ

ương
ng
ng
ngth
th
th
thứ


ức
c
c
c
Lànhữngđoạnchươngtrìnhchứatrongđiềukhiển,chođiềukhiểnbiếtcáchthức
đểthựchiệnmộtcôngviệcnàođó,chảnghạndờiđiềukhiểnđếnmộtvịtrímớitrên
biểumẫu.Tươngtựthuộctính,mỗiđiềukhiểncónhữngphươngthứckhácnhau,
nhưngvẫncómộtsốphươngthứcrấtthôngdụngchohầuhếtcácđiềukhiển
Cácphươngthứcthôngdụng
Ph
Ph
Ph
Phươ
ươ
ươ
ương
ng
ng
ngth
th
th

thứ


ức
c
c
cGi
Gi
Gi
Giả


ải
i
i
ith
th
th
thí
í
í
ích
ch
ch
ch
MoveThayđổivịtrímộtđoóitượngtheoyêucầucủachươngtrình
DragThihànhhoạtđộngkéovàthảcủangườisửdụng
SetFocusCungcấptầmngắmchođốitượngđượcchỉratronglệnhgọi
phươngthức
ZOrderquyđịnhthứtựxuấthiệncủacácđiềukhiểntrênmànhình

VisualBasic6.0TrịnhKhắcThanh
rang:18/260
3.1.4
3.1.4
3.1.4
3.1.4S
S
S
Sự


ựki
ki
ki
kiệ


ện
n
n
n
Nếunhưthuộctínhmôtảđốitượng,phươngthứcchỉracáchthứcđốitượnghành
độngthìsựkiệnlànhữngphảnưúngcủađốitượng.
Tươngtựthuộctínhvàphươngthức,mỗiđiềukhiểncónhữngbộsựkiệnrất
thôngdụngvớihầuhếtcácđiềukhiển.Cácsựkiệnnàyxảyrathườnglàkếtquảcủa
mộthànhđộngnàođó,nhưlàdichuyểnchuột,nhấnnútbànphím,hiặcgõvàohộp
vănbản.kiểusựkiệnnàyđượcgọilàsựkiệnkhởitạobởingườisửdụng,vàtasẽ
phảilậptrìnhchochúng.
cácsựkiệnthôngdụng
S

S
S
Sự


ựki
ki
ki
kiệ


ện
n
n
nX
X
X
Xả


ảy
y
y
yra
ra
ra
rakhi
khi
khi
khi

ChangeNgườisửdụngsửađổichuỗikýtựtronghộpkếthợphoặchộpvăn
bản
ClickNgườisửdụngdùngchuộtclicklênđốitượng
DblclickNgườisửdụngdùngchuộtclickđúplênđốitượng
DragDropNgườisửdụngkéorêmộtđốitượngsangnơikhác
DragOverNgườisửdụngkéorêmộtđốitượngngangquamộtđiềukhiểnkhác
GotFocusĐưamộtđốitượngvàotầmngắmcủangườisửdụng
KeyDownNgườisửdụngnhấnmộtnúttrênbànphímtrongkhimộtđốitượng
đangtrongtầmngắm
KeyPressNgườisửdụngnhấnvàthảmộtnúttrênbànphímtrongkhimộtđối
tượngđangtrongtầmngắm
KeyUpNgườisửdụngthảmộtnúttrênbànphímtrongkhimộtđốitượng
đangtrongtầmngắm
LostFocusĐưamộtđốitượngrakhỏitầmngắm
MouseDownNgườisửdụngnhấnmộtnútchuộtbấtkỳtrongkhicontrỏchuột
đangnằmtrênmộtđốitượng
MouseMoveNgườisửdụngdichuyểncontrỏchuộtngangquamộtđốitượng
MouseUpNgườisửdụngthảnútchuộttrongkhicontrỏchuộtđangnằmtrên
mộtđốitượng
3.1.5
3.1.5
3.1.5
3.1.5M
M
M
Mố


ối
i

i
iquan
quan
quan
quanh
h
h
hệ


ệgi
gi
gi
giữ


ữa
a
a
aph
ph
ph
phươ
ươ
ươ
ương
ng
ng
ngth
th

th
thứ


ức,
c,
c,
c,thu
thu
thu
thuộ


ộc
c
c
ct
t
t

í
í
ính
nh
nh
nhv
v
v

à

à
às
s
s
sự


ựki
ki
ki
kiệ


ện
n
n
n
Mặcdùthuộctính,phươngthứcvàsựkiệncóvaitròkhácnhaunhưngchúng
thườngxuyênliênhệvớinhau.vídụnếutadichuyểnmộtđiềukhiểnbằngphương
thứcMove(thườngđápứngmộtsốsựkiện)mộtsốthuộctínhnhưTop,Height,Left,
Widthsẽthayđổitheo.Bởivìkhikíchcỡcủađiềukhiểnthayđổi,sựkiệnResizesẽ
sảyra.
Phụthuộclẫnnhaucòncónghĩalàtacóthểđạtđượcmjụcđíchcôngviệcbằng
nhiềucách:xửlýutrênthuộctínhhoặcphươngthức.Vídụ,tacó2cáchđểdichuyển
nútlệnh:
a.thuộctính
cmdMove.Left=100
cmdMove.Top=100
b.phươngthức
cmdMove.Move100,100

VisualBasic6.0TrịnhKhắcThanh
rang:19/260
Mộtvídụkhác,làmmộtbiểumẫuxuấthiệnvàbiếnmấttrênmànhình
c.thuộctính
‘xuấthiện
frmMyForm.Visible=True
‘Biếnmất
frmMyForm.Visible=False
d.phươngthức
‘xuấthiện
frmMyForm.Show
‘Biếnmất
frmMyForm.Hide
3.1.6
3.1.6
3.1.6
3.1.6C
C
C
Cử


ửa
a
a
as
s
s
sổ



ổProperties
Properties
Properties
Properties
cửasổnàychophéplậptrìnhviênxemxétvàsửađổicácthuộctínhcủabiểumẫu
vàcácđiềukhiểntronglúcthiếtkế
Phầntrêncửasổlàcácdanhsáchđốitượng,đốitượngđượcchọntrongdanhsách
nàycócácthuộctínhcủanóhiểnthịtrongphầnbêndướicủacửasổ.
ThuộctínhCaptionđượcđánhdấu,nghĩalàtacóthểsửađổithuộctínhnày.
từngthuộctínhcómộthíatrịmặcđịnh.tacóthêrsửađổibằngtaytronglúcthiết
kế,hoặcbằngchươngtrìnhtronglúcthihành.
mộtbiểumẫucókhoảng40thuộctínhđượchiểnthịtronglúcthiếtkế,nhưngta
cóthểtruycậpmộtsốthuộctínhkhácvàotronglúcthihành.
Tacóthẻxemtoànbộthuộctínhxứpxếptheothứtựbảngchữcáibằngcáchchọn
vàotabAlphabetic,hoặcxemtheotừngnhómbằngcáchchọnvàotabCategozized.
tacóthểmởcửasổPropertiesbằngnhiềucách:
a.nhấnchuộtvàobiểumẫuđểchpnjnónhưmộtđốitượnghiệnhành,nhấn
phímF4đểhiểnthịcửasổProperties
b.Hoặclàtừmenu_View,chọnProperties
c.hoặclànhấnnútphảichuộtlênbiểumẫu,tasẽthấymộtmenuhiểnthị.
chọnProperties.
VisualBasic6.0TrịnhKhắcThanh
rang:20/260
3.1.7
3.1.7
3.1.7
3.1.7Vi
Vi
Vi

Viế
ế
ế
ết
t
t
tch
ch
ch
chươ
ươ
ươ
ương
ng
ng
ngtr
tr
tr
trì
ì
ì
ình
nh
nh
nhs
s
s
sử



ửd
d
d
dụ


ụng
ng
ng
ngthu
thu
thu
thuộ


ộc
c
c
ct
t
t

í
í
ính,
nh,
nh,
nh,ph
ph
ph

phươ
ươ
ươ
ương
ng
ng
ngth
th
th
thứ


ức
c
c
cv
v
v

à
à
às
s
s
sự



ki
ki

ki
kiệ


ện
n
n
n
TathửviếtchươngtrìnhMoveltdùngđểdichuyểncửasổ.Moveltcómộtcửasổ
tênlàfrmMove,chứa4nútlệnhở4gócmànhình.khithihnàhnhấnvàomoọttrong
cácnútnàysẽlàmcửasổdichuyểntớigócmànhìnhtươngứng.giữamànhìnhsẽlà
mộtnhãnhiệusẽthôngbáotứcthờicácdichuyểncủachuộtcũngnhưnútlệnhnào
đượcFocus.
cácbướctổngquátdểtạoMovelt:
a.Tạogiaodiệnngườisửdụng(GUI)
b.ViếtthủtụcForm_Load()
c.Viếtthủtụcclick()
d.thêmcácthôngbáosựkiện
3.1.7.1
3.1.7.1
3.1.7.1
3.1.7.1T
T
T
Tạ


ạo
o
o

oGUI
GUI
GUI
GUI
1.từmenuFile,chọnNewProjectđểmởhộpthoạiđềán.Chọnkiểu
standardEXE
2.vàocửasổProperties,sửatênbiểumẫuthànhfrmMove
3.thêm4nútlệnhvào4gócbiểumẫu.tasẽxửalạivịtríchínhxác
hiưnchođíngbằngchươngtrình
4.nhấnđúpchuộtlênbiểmẫuđểtạothủtụcForm_Load()
5.ĐổithuộctínhBorderStylecủabiểumẫuthành1-FixedSingleđể
cấmbiểumẫucogiãnkhichươngtrìnhthihành.sauđóđổicác
thuộctínhAlignmentcủanhãnthành2-CentervàBorderStylecủa
nhãnthành1-FixedSingle
6.LưubiểumẫuvớitênlàfrmmovevàlưuđềánvớitênlàMovelt.vbp
3.1.7.2
3.1.7.2
3.1.7.2
3.1.7.2Vi
Vi
Vi
Viế
ế
ế
ết
t
t
tth
th
th

thủ


ủt
t
t
tụ


ục
c
c
cForm
Form
Form
Form_Load
_Load
_Load
_Load
Thủtụcnàychuẩnbịmộtsốkhởitạochobiểumẫutrướckhinóđượchiểnthị
a.ĐặtthuộctínhCaptionchoCommandButtion
b.Dặtchuỗikýtựkhởitạochonhãn
c.Đặtchuỗikýtựchothanhtiêuđềcủabiểumẫu
d.Đặtvịtrícho4nútlệnhnhãnvàbiểumẫutrênmànhình
e.Đưavàođoạnchươngtrìnhsau:
VisualBasic6.0TrịnhKhắcThanh
rang:21/260
PrivateSubForm_Load()
'SettheCaptionpropertyoftheCommandButtons
cmdTopLeft.Caption="TopLeft"

cmdTopRight.Caption="TopRight"
cmdBottomLeft.Caption="BottomLeft"
cmdBottomRight.Caption="BottomRight"
'Cleartheinitialtextofthelabel
lblNotify.Caption=""
'Settheform'stitlebartext
frmMove.Caption="MoveIt"
'Therestofthecodecenterstheformonthe
'screen,setsthepositionofthefour
'CommandButtons,andsetsthesizeand
'positionofthelabel.
'Centertheformonthescreen.Thisworksby
'settingtheLeftsideoftheformtothecenter
'ofthescreen,lesshalfthewidthoftheform.
'Also,theTopoftheformissettothecenter
'ofthescreen,lesshalftheheightoftheform.
frmMove.Left=(Screen.Width-frmMove.Width)/2
frmMove.Top=(Screen.Height-frmMove.Height)/2
'SettheLeftedgeofthebuttons.The200setting
'fortheleftbuttonssetsaspacebetweentheedge
'oftheformandthebuttons.Therightbuttonsare
'setbysubtractingthewidthofthebuttonfrom
'thewidthoftheform,andsubtracting300to
'setaspacebetweenthebuttonandtheformedge.
cmdTopLeft.Left=200
cmdBottomLeft.Left=200
cmdTopRight.Left=frmMove.Width-cmdTopRight.Width-300
cmdBottomRight.Left=frmMove.Width-cmdBottomRight.Width-300
'SettheTopedgeofthebuttons.Thisisdone
'similartosettingtheLeftedge.

cmdTopLeft.Top=200
cmdBottomLeft.Top=frmMove.Height-cmdBottomLeft.Height-500
cmdTopRight.Top=200
cmdBottomRight.Top=frmMove.Height-cmdBottomRight.Height-500
'Setthesizeofthelabel
lblNotify.Height=360
lblNotify.Width=3000
VisualBasic6.0TrịnhKhắcThanh
rang:22/260
'Centerthelabelwithintheform.Thisisdone
'similartocenteringtheform.
lblNotify.Left=(frmMove.Width-lblNotify.Width)/2
lblNotify.Top=(frmMove.Height-lblNotify.Height)/2-200
EndSub
3.1.7.3
3.1.7.3
3.1.7.3
3.1.7.3Vi
Vi
Vi
Viế
ế
ế
ết
t
t
tth
th
th
thủ



ủt
t
t
tụ


ục
c
c
cClick
Click
Click
Click
Dùngthủtụcnàyđểdichuyểnbiểumẫuxungquanhmànhình.Nhấnđúpchuột
lênnútlệnhđểmởcửasổCode.Đưavàođoạnchươngtrìnhsauđay:
PrivateSubcmdBottomLeft_Click()
'Setthevalueoftheform'sTOPproperty
'tothebottomofthescreenbutbring
'ituptheheightofthescreensothatthe
'bottomoftheformisonthebottomof
'thescreen
frmMove.Top=Screen.Height-frmMove.Height
'Setthevalueoftheform'sLEFTproperty
'totheleftmostofthescreen.
frmMove.Left=0
EndSub
PrivateSubcmdBottomRight_Click()
'Setthevaluefortheform'sTOPpropertyto

'thebottomofthescreen,butbringtheTOP
'uptheHEIGHToftheformsothatthebottom
'oftheformisonthebottomofthescreen.
frmMove.Top=Screen.Height-frmMove.Height
'Setthevalueoftheform'sLEFTpropertyto
'therightofthescreenbutbringitacross
'thescreen,thewidthoftheformsothatthe
'rightsideoftheformisontheright
'sideofthescreen
frmMove.Left=Screen.Width-frmMove.Width
EndSub
VisualBasic6.0TrịnhKhắcThanh
rang:23/260
PrivateSubcmdTopLeft_Click()
'Setthevalueoftheform'sTOPproperty
'tothetopofthescreen.
frmMove.Top=0
'Setthevalueoftheform'sLEFTproperty
'totheleftofthescreen.
frmMove.Left=0
EndSub
PrivateSubcmdTopRight_Click()
'Setthevalueoftheform'sTOPproperty
'tothetopofthescreen.
frmMove.Top=0
'Setthevalueoftheform'sLEFTpropertyto
'therightofthescreenbutbringitbackacross
'thescreenthewidthoftheform,sothatthe
'rightsideoftheformisontheright
'sideofthescreen

frmMove.Left=Screen.Width-frmMove.Width
EndSub
ĐốitượngScreensửtrongđoạnchươngtrìnhtrênlàmànhình
ViệcdichuyểnbiểumẫulêntrênhoặcsangtráichỉcầnđổithuộctínhTophay
Leftthành0.Giátrịnàyluônđúngchocạnhtrênhaycạnhtráimànhình.
CạnhphảihoặccạnhdướiphứctạphơnvìkhôngcóthuộctínhRighthayBottom.
ĐểcanhphảibiểumẫutaphảithayđổithuộctinhLeftthôngquathuộctínhWidth
TươngtựvớicạnhdướitaphảithayđổithuộctinhTopthôngquathuộctính
Height
3.1.7.4
3.1.7.4
3.1.7.4
3.1.7.4Th
Th
Th
Thê
ê
ê
êm
m
m
mth
th
th
thô
ô
ô
ông
ng
ng

ngb
b
b

á
á
áo
o
o
os
s
s
sự


ựki
ki
ki
kiệ


ện
n
n
n
Khingườisửdụngnhấnhoặcthảnútchuụottrênbiểumẫuchuỗikýtựtrongnhãn
lblNotifysẽthayđổi.NgoàirakhingườisửdụngnhấnphímTabhoặcchuộtđểdi
chuyểntừnútlệnnàysangnútlệnhkhác,chuỗikýtựcủanhãncũngthayđổi.như
vậytaphảichươngtrìnhcho3thủtụckhácnhau.MouseUp,mouseDownchobiểu
mẫuvàGostFocuschotừngnútlệnh.

MởcửasổCode,chọnsựkiệnMouseDownđểmởthủtụcvàđưavàođoạn
chươngtrìnhsau
PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,
YAsSingle)
lblNotify.Caption="MouseDownEvent"
EndSub
VisualBasic6.0TrịnhKhắcThanh
rang:24/260
PrivateSubForm_MouseUp(ButtonAsInteger,ShiftAsInteger,XAsSingle,Y
AsSingle)
lblNotify.Caption="MouseUpEvent"
EndSub
PrivateSubcmdBottomLeft_GotFocus()
lblNotify.Caption="cmdBottomLefthastheFocus"
EndSub
PrivateSubcmdBottomRight_GotFocus()
lblNotify.Caption="cmdBottomRighthastheFocus"
EndSub
PrivateSubcmdTopLeft_GotFocus()
lblNotify.Caption="cmdTopLefthastheFocus"
EndSub
PrivateSubcmdTopRight_GotFocus()
lblNotify.Caption="cmdTopRighthastheFocus"
EndSub
3.2
3.2
3.2
3.2L
L
L


à
à
àm
m
m
mvi
vi
vi
việ


ệc
c
c
cv
v
v
vớ


ới
i
i
im
m
m
mộ



ột
t
t
tđề
đề
đề
đềá
á
á
án
n
n
n
3.2.1
3.2.1
3.2.1
3.2.1Đị
Đị
Đị
Định
nh
nh
nhngh
ngh
ngh
nghĩ
ĩ
ĩ
ĩa
a

a
a
Mộtđềángồmcó:
a.1tệptinđềán(.vbp)theodõitoànbộcácthànhphần
b.1tệptinchobiểumẫu(.frm)
c.1tệptinnhịphân(.frx)chotừngbiểumẫu.Ngườisửdụngkhôngđượcsửa
đổi.Cáctậptinnàyđượcphátsinhtựđộngchomỗitậptin.frmbấtkỳvà
dùngđểchứacácthuộctínhnhịphânnhưPicturehayIcon.
d.1tệptinchotừngmodulelớp(.cls)-tuỳchọn
e.1tệptinchotừngmodulechuẩn(.bas)-tuỳchọn
f.1hoặcnhiềutệptinchứacácđiềukhiểnActivex(.ocx)-tuỳchọn
g.1tệptintàinguyên(.res)-tuỳchọn

×