Tự học Visual basic 6.0

Bài 1: Làm quen với Visual Basic 6

Visual Basic (VB) là một ngôn ngữ lập trình (programming language) dễ học, dễ áp dụng.Chúng tôi sẽ cố gắng trình bài thật đơn giản,dễ hiểu nhằm giúp cho quý vị có thể tự học nhanh chóng và hiệu quả. Ðối tượng mà chúng tôi nhắm tới là những người chưa có hay có rất ít kiến thức căn bản về lập trình (programming) nhưng thích sử dụng những ứng dụng(application) chạy trên windows và muốn tự mình viết một số ứng dụng hữu ích phục vụ cho công việc của mình. Dĩ nhiên chúng tôi không có tham vọng biến quý vị thành những lập trình viên chuyên nghiệp (professional programmer) mà chỉ hy vọng thông qua những ví dụ đơn giản có thể giúp quý vị cảm thấy hứng thú với VB6 rồi từ đó tìm tòi học hỏi thêm để tự hoàn thiện khả năng lập trình của mình.

Bây giờ chúng ta hãy bắt đầu bằng ví dụ đầu tiên mà những người học VB thường gọi là bài "Hello world". Mời quý vị tiến hành tuần tự các bước sau:

1.Trên màn hình windows,quý vị click vào menu start, rồi chọn programs, sau đó chọn Visual Basic 6. Màn hình VB6 sẽ hiện ra với New project window nằm ở trên. (Nếu không thấy new project window xuất hiện, quý vị chọn menu File->New project). Project là đơn vị căn bản đầu tiên của một chương trình.

2.Chọn Standard EXE, rồi click open. Trước mặt quý vị sẽ xuất hiện màn hình như hình vẽ dướí đây:

Cột bên trái là tool box (hộp đồ nghề) chứa một số controls (giống như "đồ nghề") giúp chúng ta thiết kế (design) giao diện (interface) của một chương trình (program). Chính giữa là Form ,cűng là một control, đóng vai trò quan trọng trong việc tạo ra giao diện với người sử dụng (user interface).Cột bên phải chia làm hai phần. Phần trên là project window liệt kê những thành phần tạo nên một project, phần dưới là properties window liệt kê những đặc tính (properties) của một control.

3.Double click vào label control trên toolbox . Chính giữa form xuất hiện label1 . Trên properties window double click vào caption , đánh vào chữ Name. Nắm label đặt ở góc trái của form (drag and drop).

4.Double click vào Textbox control trên toolbox . Ðặt textbox kế bên label.

5.Double click vào Command Button control đặt command button phía dưới textbox. Trên properties window double click vào caption , đánh vào chữ Say Hello. Quý vị sẽ thấy chữ Say Hello trên command button. Nếu làm đúng quý vị sẽ có hình dưới đây:

Bài 2: Tìm hiểu thêm về TextBox và Label Controls

Trong bài 1 quý vị đã làm quen với Label và TextBox controls.Bài này chúng tôi sẽ đi sâu vào một số Methods và Events thông dụng của 2 controls trên.Bây giờ chúng ta hãy thiết kế một form thường được gọi là form Log In cho phép người sử dụng đánh tên và mật mã(Password) vào sau đó kiểm tra xem password có đúng với những chữ đã được định trước không.

1. Mở một project mới, Trên Properties Window double click vào caption và đánh vào chữ Log In. Double Click vào Name và đặt tên form là frmLogIn. Property Name là tên của control được sử dụng trong mã chương trình, còn caption là tên hiện ra trên thanh tiêu đề (title bar)của form.

2.Ðặt các controls với Properties như bảng1 dưới đây lên form LogIn

Control Name Caption Text

Label LblUserName User Name

Label LblPassword Password

Label LblDisplay Display

TextBox TxtUserName ""

TextBox TxtPassword ""

CommandButton CmdOk Ok

CommandButton CmdCancel Cancel

Bảng 1.

Chú thích:

• Ô tô đậm: không có property tương ứng.

• ký hiệu "": để khoảng trắng

3.Sắp xếp các controls như hình vẽ dưới đây:

4.Click vào TextBox TxtPassword chọn Password Character trên Property Window. Ðánh vào dấu "*"(Asterisk). Ðây là ký tự thay thế sẽ hiện ra khi chúng ta đánh password.

5.Chúng ta đã xong phần thiết kế giao diện.Bây giờ double click vào TextBox TxtUserName để hiện ra Code Window(hay click vào biểu tượng View Code trên Project Window).Phía trên Code Window được chia làm 2 phần.Bên trái là danh sách các Controls, bên phải là danh sách các Events của một control tương ứng. Muốn viết mã chương trình cho Event nào chỉ cần click vào tên Control và tên Event, sau đó viết code vào khoảng giữa Private sub .....End sub.Ðánh vào những dòng sau:

Const Pwd = "hello"

Private Sub CmdCancel_Click()

End

End Sub

Private Sub CmdOk_Click()

If TxtPassword.Text = Pwd Then

MsgBox "Welcome"

Else

MsgBox "Invalid password"

End If

End Sub

Private Sub TxtUserName_Change()

LblDisplay.Caption = TxtUserName.Text

End Sub

Private Sub TxtUserName_KeyPress(KeyAscii As Integer)

If KeyAscii = vbKeyReturn Then TxtPassword.SetFocus

End Sub

Private Sub TxtUserName_LostFocus()

If TxtUserName.Text = "" Then MsgBox "Please enter User Name"

End Sub

6. ấn phím F5 để chạy chương trình.Lần lượt kiểm tra các bước sau:

• Chưa đánh chữ vào user name textbox,ấn phím Tab->hiện ra message box nhắc ta đánh chữ vào.

• Ðánh tên user->LblDisplay sẽ thay đổi tương ứng. Sau đó ấn phím Enter->Cursor(con trỏ) sẽ chuyển sang textbox password.

• Ðánh password->Chỉ thấy dấu "*" hiện ra

• Click Ok->hiện ra message box cho ta biết password vừa đánh vào là đúng hay sai.Password đúng là "hello"

• Click Cancel->dừng chương trình.

Giải thích:

Chúng ta đã sử dụng 3 Events của textbox :

• _KeyPress(KeyAscii As Integer): sự kiện xảy ra khi có phím được ấn.Mỗi ký tự mà chúng ta đánh vào đều có tương ứng một mã Ascii(số từ 0..255) .Còn Integer là một loại dữ liệu số học từ -32,768 to 32,767. Chương trình của chúng ta sẽ kiểm tra nếu (If)phím được ấn là Enter(VbKeyReturn) thì (Then)Cursor sẽ chuyển sang textbox TxtPassword( SetFocus). VbKeyReturn là một hằng số(constant)=13 tương đương với mã Ascii của phím Enter. Trong đó SetFocus là một Method làm cho control nhận được sự chú ý của chương trình.

• (Text) _Change(): sự kiện xảy ra khi nội dung trong textbox bị thay đổi.(nếu cả hai sự kiện đều xảy ra thì KeyPress sẽ xảy ra trước). Khi nội dung trong text box bị thay đổi thì chúng ta thay đổi caption của LblDisplay tương ứng với nội dung mới.

• _LostFocus(): Xảy ra khi control mất sự chú ý của chương trình. Chương trình chúng ta kiểm tra xem nếu nội dung trong textbox rỗng(null) thì hiện ra thông điệp nhắc nhở user đánh chữ vào cűng bằng cấu trúc (If...Then...).(Tương tự Khi một control nhận được sự chú ý của chương trình thì xảy ra Event ngược lại là GotFocus.)

Khi xảy ra Event Click trên CmdCancel thì chúng ta chấm dứt chương trình bằng câu lệnh End. Còn khi click vào CmdOk thì chương trình kiểm tra nếu password đánh vào giống như Constant(tạm dịch là hằng số, là một số có giá trị không đổi, thật ra trong trường hợp này không phải là số mà là những ký tự đã được định trước:Const Pwd = "hello") thì hiện ra thông điệp "Welcome",còn nếu không phải (Else) thì hiện câu "Invalid Password".Chúng ta hoàn toàn có thể thay đổi chữ "hello" bằng bất kỳ chữ nào khác mà ta thích.

Tóm lại qua bài này chúng ta đã tìm hiểu một số Events và Methods thông dụng của TextBox Control cűng là những Events và Methods căn bản của hầu hết các controls khác.Trong bài sau quý vị sẽ tìm hiểu thêm một số control thông dụng khác.

6.Double click vào command button, một window mới hiện ra cho phép chúng ta viết mã chương trình gọi là Code window . Quý vị đánh vào dòng lệnh sau:(chỉ đánh vào chữ đậm)

Private Sub Command1_Click()

MsgBox "Hello" & Text1.Text

End Sub

7.Như vậy chúng ta đã xong phần thiết kế giao diện và viết mã chương trình. Bây giờ để kiểm tra chương trình của chúng ta chạy như thế nào,hãy ấn phím F5 hay click . Window(hay Form) mà quý vị đã thiết kế sẽ hiện ra, click vào textbox , xóa chữ Text1, sau đó thay bằng tên quý vị vào và click button Say Hello. Một window nhỏ (Message Box) hiện ra tương tự như hình vẽ dưới đây:

Thật thú vị phải không, hãy click OK , sau đó click Ðể ngưng chương trình đang chạy.Nếu quý vị muốn lưu chương trình, chọn File->Save as, rồi đặt tên theo ý mình (ví dụ :myfirstproject).

Giải thích:

Phần lớn các Controls đều có 3 thuộc tính:

• Properties : Hình dáng,màu sắc , nói chung là những đặc tính của một control, ví dụ : Backcorlor, Appearance...v.v.

• Methods : Những gì mà control đó làm được, ví dụ: Move (di chuyển), Refresh (làm tươi)...

• Events : xảy ra khi có tác động của người sử dụng (user), ví dụ: click, keypress v.v.

Tóm lại chúng ta đã làm quen với một số controls thông dụng là label , textbox và command button trong đó property quan trọng của label là caption ,còn đối với command button là event click() , chúng ta phải viết mã chương trình để đáp ứng lại tác động click của người sử dụng.Trong bài này là hiện ra một thông điệp (message) bằng câu lệnh:

MsgBox "Hello" & Text1.Text

trong đó Text1.text là những chữ mà người sử dụng đánh vào textbox. Vì đây là bài đầu tiên chúng tôi thông tiện đi sâu vào các thuộc tính của controls Mời quý vị đọc tiếp những bài học tới để hiểu thêm về các controls.

Bài 3: Frame, Check Boxes và Option Buttons

Trước tiên chúng ta hãy tìm hiểu control Frame.

1. Mở một project mới, Click vào .Dùng Mouse(con chuột)vẽ một hình chữ nhật trên Form1,chúng ta sẽ thấy một khung hình chữ nhật hiện ra đó chính là Frame. Frame thường được dùng để gom các control thành một nhóm.Sở dĩ Frame có thể làm được như vậy vì nó là một container control.Một control được gọi là Container khi nó có thể chứa các control khác.(Ví dụ Form cűng là một container vì chúng ta có thể đặt các control khác lên trên một form).

2. Chúng ta thử đặt một TextBox lên Frame bằng cách Click vào TextBox control,vẽ một hình chữ nhật lên trên frame1.Sau khi textbox1 đã nằm trong frame,hãy nắm frame 1 di chuyển đến một vị trí khác trên form.Chúng ta thấy textbox1 cűng di chuyển theo.Vì khi di chuyển container thì "đồ đạc" bên trong đương nhiên bị di chuyển theo.

3. Bây giờ đặt một TextBox khác(textbox2) lên Form(chứ không phải Frame).Sau đó nắm textbox2 đặt lên frame1,rồi lại di chuyển frame1 một lần nữa.Chúng ta thấy textbox2 vẫn đứng yên.Ðiều này là do khi textbox2 được đặt lên form1 thì container chứa nó là form không phải là frame như ở trường hợp của textbox1.

Tiếp theo chúng ta sẽ tìm hiểu về CheckBox và Option Button .

Xóa các textbox control, lần lượt đặt 3 Check Boxes lên frame1.Ðặt thêm một Frame mới(frame2) lên form,sau đó đặt 3 Option Buttons lên frame2.Lần lượt thay đổi Caption và property Alignment của các control theo bảng dưới đây:

Name Caption Alignment

Frame1 Favorites

Frame2 Age Group

Check1 Classical Music Right Justify

Check2 Pop Music Right Justify

Check3 Rock Music Right Justify

Option1 Less than 25 Left Justify

Option2 From 25 to 45 Left Justify

Option3 More than 45 Left Justify

Chúng ta có form như hình vẽ:

Chạy thử chương trình và tùy ý click vào các option.Chúng ta thấy điểm khác biệt chính giữa CheckBox và Option Button là Các Option Button có thể được gom lại thành một nhóm và người sử dụng chỉ được chọn một trong những Options(tùy chọn)trong nhóm đó.Chứ không thể đồng thời chọn nhiều option.Khi một option được chọn thì các option khác sẽ tự động không được chọn.Vì vậy control này còn được gọi là Radio Button.Trong khi đó đối với Check Box chúng ta có thể cùng lúc chọn nhiều option.

Cả hai đều có property Value.

Value Property Status

0 Unchecked

1 Checked

2 Greyed(xám)

Check Box

Value Property Status

False Deselected

True Selected

Option Button

trong đó value bằng Greyed sẽ làm cho Check Box chuyển sang màu xám.

Event quan trọng của Cả hai control là Click.Ðối với Check Box chúng ta có thể viết mã chương trình kiểm tra Value để đáp ứng lại tác động click của người sử dụng.Còn khi click vào Option Button thì Value=True. Chúng ta chỉ việc đáp ứng lại tác động click mà không cần kiểm tra value

Ví dụ như hiện ra một thông điệp cho biết option nào được chọn bằng câu lệnh:

Private Sub Option1_Click()

MsgBox "you choose classical music"

End Sub

Khi muốn vô hiệu hóa(hay khóa) các control chúng ta cho property Enable= False.Ngược lại cho Enable=True khi cho phép control được sử dụng trở lại. Các Option Button nên được gom lại thành nhóm ở trong một Frame và đặt tên cho nhóm đó thông qua property Caption của Frame.

Như vậy trong bài này chúng ta đã biết thêm một số control thông dụng trong Visual Basic là Frame, Check Box và Option Button.Trong bài sau chúng tôi sẽ trình bày các control thông dụng khác liên quan đến đồ họa (Graphic).Mời quý vị xem chi tiết ở bài tới.

Bài 4: Ðồ họa: PictureBox, Image, Shape và Line controls

I. Giới Thiệu:

Ðồ họa (Graphics)đóng vai trò khá quan trọng trong các ứng dụng chạy trên Window. Cho dù ứng dụng đó hay cỡ nào nếu giao diện đồ họa (Graphical User Interface) không "bắt mắt" thì cűng khó khuyến khích người ta sử dụng. Visual Basic cho phép chúng ta tạo ra các hình ảnh bằng 2 cách:

• Sử dụng các graphics controls. Ðây là những hình(shapes) mà ta có thể đặt lên form trong lúc design như các controls khác.

• Sử dụng các Graphics Methods để vẽ hình khi ứng dụng đang chạy (on the fly).

Trong bài này chúng ta chủ yếu tập trung vào các graphics controls như PictureBox , Image , Line và Shape controls và một số graphics methods thông dụng.

PictureBox và Image controls trong Visual Basic được dùng để hiển thị (display) hình ảnh. Cả hai đều có property quan trọng là Picture dùng để xác định image file nào sẽ được hiển thị. Khi double-click vào property Picture trên Properties window, một Load Picture window sẽ xuất hiện cho phép chúng ta chọn image file (thuộc một trong các formats sau: *.BMP, *.WMF, *.GIF, *.JPG, *.ICO). Chúng ta hãy thử tìm hiểu sự khác biệt giữa hai controls.

Image control: Là một lightweight (nhẹ) control (một số lightweight control khác là Line, Shape và Label control). Một lightweight control cần ít system resource (tài nguyên của hệ thống thí dụ như thời gian và bộ nhớ) hơn các controls khác(như PictureBox, Command Button control...). Ta không thể đặt Image control lên trên một control khác trừ khi đặt lên một container control (như picturebox, frame). Ngoài ra control này không thể nhận được focus lúc run time.

PictureBox control l: có nhiều chức năng hơn Image control. Nó có thể được đặt bất kỳ nơi nào. Ngoài ra nó còn là một container control nghĩa là chúng ta có thể đặt các control khác nhau vào bên trong PictureBox.

II. Thực Hành:

Mở một Project mới , đặt một PictureBox control lên form1. Sau đó đặt một Image control lên trên picturebox1. Double click vào property Picture của image1. Một window sẽ hiện ra cho phép chúng ta chọn một image file. (Nếu Visual Basic được install đầy đủ, quý vị có thể tìm các Image files trong c:\ Microsoft Visual Studio\Common\Graphics\.). Giả sử chúng ta chọn hình như hình1. Sau đó chúng ta có thể tùy ý vẽ các control như Shape, Line control lên trên form hoặc PictureBox. Chẳng hạn trong bài này để vẽ một hình Oval như hình1 chúng ta click vào Shape control, vẽ một hình chữ nhật lên PictureBox. Chọn property cho Shape1như bảng sau:

Property Value

Shape 2-Oval

BackStyle 1-Opaque

BackColor &H00FF0000&(Blue)

Shape1 Properties.

Hình 1.

Như vậy nếu muốn vẽ các hình căn bản như đường thẳng, hình tròn, oval, chữ nhật v.v chúng ta có thể dùng Line và Shape control.Ðồng thời có thể thay đổi properties để có được hình như ý. Còn nếu muốn load một hình có sẳn thì dùng Image hoặc PictureBox control.

Bây giờ chúng ta hãy thử thay đổi không khí bằng cách "play around" với method PaintPicture của PictureBox. Ðánh vào những dòng sau:

Dim dragging As Boolean

Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

dragging = True

End Sub

Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

If dragging Then Picture1.PaintPicture Image1, X, Y

End Sub

Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)

dragging = False

End Sub

Hãy thử chạy chương trình. Ấn nút trái chuột(Mouse), giữ nguyên như thế và kéo chuột(drag) vẽ một hình gì chẳng hạn. Ổ thật là tuyệt vời ! Hình chúng ta đang vẽ được tạo ra bởi Image1. Ví dụ chúng tôi vẽ chữ Vovi như Hình 2:

Hình 2.

Giải thích: Chúng ta dùng biến dragging thuộc loại Boolean (True/False) để nhận biết user đang kéo chuột hay không, khi nút trái chuột được ấn thì xảy ra event MouseDown đối với picture1. chúng ta cho dragging=True. Khi mouse di chuyển thì xảy ra event MouseMove, ta kiểm tra nếu đúng là user đang vẽ thì gọi method PaintPicture để vẽ Image1 tại vị trí tương ứng. Khi user thả nút trái chuột ra (MouseUp)thì cho dragging=False báo hiệu user đã ngưng vẽ.

Tóm lại để trang trí (decorate) một Form chúng ta có thể dùng các graphics controls hoặc graphics methods. Tuy nhiên Image và PictureBox control có các events như MouseUp, MouseDown, MouseMove...Trong khi Shape và Line control không có event, nghĩa là chỉ thuần túy dùng cho việc trang trí.

Bạn đang đọc truyện trên: AzTruyen.Top

Tags: #vb6