TRƯỜNG ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH TỰ HỌC VISUAL - Phần III KHOA CÔNG NGHỆ THÔNG TIN 2009 TỰ HỌC VISUAL BASIC 6.0 - PHẦN MỤC LỤC Dùng Đồ Họa (Phần II) Dùng Đồ Họa (Phần III) 12 Cơ sở liệu (Database) 23 Dùng Control Data 35 Lập trình với kỹ thuật DAO 46 Lập trình với ADO (phần I) 58 http://ebooks.vdcmedia.com TỰ HỌC VISUAL BASIC 6.0 - PHẦN http://ebooks.vdcmedia.com TỰ HỌC VISUAL BASIC 6.0 - PHẦN 3 Dùng Đồ Họa (Phần II) In ảnh VB6 có method Print cho ta in thẳng Form, PictureBox hay Printer Ba loại control coi khung vải mà họa sĩ vẽ lên Bạn khởi động chương trình VB6 Đặt lên form PictureBox tên Picture1 button tên CmdPrintTenLines với Caption Print Ten Lines DoubleClick lên button viết code đây: Private Sub CmdPrintTenLines_Click() Dim i As Integer ' String variable used for display Dim strLine As String ' Write 10 lines, one under the other For i = To 10 strLine = "This is line " & CStr(i) Me.Print strLine ' Print on Form Picture1.Print strLine ' Print on Picture1 Next End Sub Bạn chạy thử program click nút Print Ten Lines Trong trường hợp ta dùng default Font Color để in 10 hàng Sau Print, chương trình tự động xuống hàng Kế đó, thêm button tên CmdPrintFontSizes với Caption Print Font Sizes DoubleClick lên button viết code đây: Private Sub CmdPrintFontSizes_Click() Dim i As Integer ' Print numbers to 10, one after the other on the same line For i = To 10 ' Define Font size Me.Font.Size = Me.Font.Size + i ' Define Color using Function QBColor Me.ForeColor = QBColor(i) ' Print without moving to next line Note the semicolon ";" Me.Print Str(i); Next End Sub http://ebooks.vdcmedia.com TỰ HỌC VISUAL BASIC 6.0 - PHẦN Trong Sub CmdPrintFontSizes_Click, ta thay đổi cở kiểu chữ số in lớn lên thay đổi màu số cách dùng function QBColor Để in số liên tục không xuống hàng ta dùng method Print với semicolon (;) Bạn chạy chương trình lại Click nút Print Ten Lines click nút Print Font Sizes, kết giống đây: Bây bạn thử minimize cửa sổ chương trình, kế restore lại kích thước cũ Bạn thấy hàng ta in lúc khơng cịn form hay PictureBox Lý ta Print lên form hay PictureBox, hình vẽ graphic địa phương không VB6 kể phần cửa sổ Muốn tránh trở ngại ta phải dặn VB6 nhớ vẽ lại cách set property AutoRedraw form Picture1 True http://ebooks.vdcmedia.com TỰ HỌC VISUAL BASIC 6.0 - PHẦN Hệ thống tọa độ Khi đặt Object hay vẽ lên ảnh (screen) hay form v.v ta cần phải định Object nằm chỗ kể từ (with reference to) góc Trên Trái (Top Left) ảnh hay form Cái góc Trên Trái Trung tâm tọa độ screen hay form Ở tọa độ X Y 0, ta viết 0,0 Nếu ta lần qua phải theo chiều rộng screen tọa độ X tăng lên Nếu ta dọc xuống theo chiều cao screen tọa độ Y tăng lên Kế đến đơn vị đo lường ta dùng để biểu diễn khoảng cách Trong trước ta nói đến độ mịn ảnh (screen resolution) dựa vào pixel Ta dùng đơn vị pixel để nói Object có tọa độ X Y chiều pixels tính từ trung tâm tọa độ Như thế, ảnh ta tăng độ mịn lên Object đặt lên ảnh theo đơn vị pixel xích qua trái lên kích thước pixel nhỏ lúc trước chút Hình minh họa kích thước ảnh Form Điểm cần biết có phần title bar border form ta vẽ lên Do diện tích cịn lại form gọi Client Area Chiều rộng chiều cao Client Area gọi ScaleWidth ScaleHeight Nếu muốn khoảng cách từ Object đến trung tâm tọa độ, hay kích thước Object, khơng thay đổi dù ta có tăng, giảm độ mịn ảnh hay in hình printer (thí dụ ta muốn ln ln dài 5cm chẳng hạn) ta dùng hệ thống tọa độ theo đơn vị twips form http://ebooks.vdcmedia.com TỰ HỌC VISUAL BASIC 6.0 - PHẦN Twips Default Coordinate System VB6 Trong hệ thống điểm tương đương với 1/567 centimeter Do đó, bạn vẽ dường dài 567 twips hiển thị dài 1cm ảnh, bạn in ra, dài 1cm giấy Tức độ dài thật Object không tùy thuộc vào loại ảnh (độ mịn cao hay thấp) hay printer Người ta nói Device independent coordinate system (Hệ thống tọa độ độc lập với dụng cụ) Nói cách khác Twips cho ta thật what you see is what you get (WYSIWYG - thấy có vậy), thích hợp với Desktop publishing Bạn thay đổi hệ thống tọa độ form cách edit property ScaleMode qua cửa sổ Properties sau: Ghi chú: Thay đổi trị số ScaleMode khơng có hiệu lực mà ảnh hưởng thiết kế sau Giống ta Edit Text Notepad, Text Cursor (thanh | chớp chớp) vị trí tại, nơi hiển thị chữ ta đánh tới, graphic ta có Cursor vơ hình, nơi hiển thị ta Print Ta định vị trí graphic cursor cách cho trị số CurrentX CurrentY Bạn khởi động dự án VB6 viết code cho Event Resize form sau: http://ebooks.vdcmedia.com TỰ HỌC VISUAL BASIC 6.0 - PHẦN Thử chạy chương trình Resize form Mỗi bạn Resize form, chữ X dời đến vị trí khoảng Client Area form Dùng Graphics Đã có chút graphics VB6, ta đặt graphics lên form Có hai cách để làm chuyện ấy: • • Dùng Graphical Controls: Ta có PictureBox Image chứa hình ảnh Trong Line Shape vẽ đường thẳng hay hình chữ nhật, trịn v.v form, lúc thiết kế Dùng Graphics Methods: Đây mệnh lệnh cho ta vẽ trực tiếp lên form lúc run-time Các mệnh lệnh VB6 cho ta Cls, Pset, Point, Line Circle http://ebooks.vdcmedia.com TỰ HỌC VISUAL BASIC 6.0 - PHẦN Tùy theo hồn cảnh, bạn lựa chọn cách tiện dụng PictureBox Image Dùng PictureBox hay Image cách dễ để hiển thị graphic form Lúc thiết kế, bạn đánh thẳng tên graphic vào property Picture cửa sổ Properties Form nhận property Picture Bạn click lên bên phải chữ property Picture để browse chọn graphic, thường Bitmap hay Icon Sự khác biệt chí Image PictureBox Image có property Stretch mà ta set thành True để kéo dãn graphic cho chiếm trọn diện tích Image Image grapgic control lightweight (nhẹ ký), tức khơng địi hỏi nhiều memory chạy nhanh PictureBox Lý PictureBox container, tức chứa controls khác Ngồi ra, PictureBox cho phép ta vẽ lên giống form http://ebooks.vdcmedia.com TỰ HỌC VISUAL BASIC 6.0 - PHẦN Trong hình đây, lúc thiết kế ta đặt PictureBox Image cỡ lên form Kế ta assign picture hình happy.bmp cho hai Riêng với Image, ta set property Stretch True Chỉ định hình ảnh lúc run-time Trong lúc program chạy, ta thay đổi hình ảnh chứa PictureBox hay Image cách dùng Function LoadPicture Nhớ ta assign trực tiếp vào Property Picture hai graphical controls Lý Property Picture cách thân thiện cho ta định graphic lúc thiết kế Khi hình ảnh định rồi, VB6 chứa hình vào file có tên với file form với extension frx Tức tên form Form1 graphic Property Picture chứa chung với graphics khác form file Form1.frx Do đó, VB6 program chứa ln graphic chung với nó, ta khơng cần phải nhắc đến tên graphic file dùng hay deploy, tức khơng cần đính kèm tên graphic file Setup file cho người ta install Dưới code mẫu để lúc run-time ta load graphic tên sad.bmp nằm Subfolder tên images App.path vào Image control tên Image1 Private Sub CmdLoad_Click() Dim LocalDir As String ' Assign Folder where program resides to LocalDir LocalDir = App.Path ' Append right backslash if last character is not "\" If Right(LocalDir, 1) "\" Then LocalDir = LocalDir & "\" http://ebooks.vdcmedia.com ... 46 Lập trình với ADO (phần I) 58 http://ebooks.vdcmedia.com TỰ HỌC VISUAL BASIC 6. 0 - PHẦN http://ebooks.vdcmedia.com TỰ HỌC VISUAL BASIC 6. 0 - PHẦN 3 Dùng Đồ Họa (Phần II) In ảnh VB6...TỰ HỌC VISUAL BASIC 6. 0 - PHẦN MỤC LỤC Dùng Đồ Họa (Phần II) Dùng Đồ Họa (Phần III) 12 Cơ sở liệu (Database) 23 Dùng Control Data 35 Lập trình... phương không VB6 kể phần cửa sổ Muốn tránh trở ngại ta phải dặn VB6 nhớ vẽ lại cách set property AutoRedraw form Picture1 True http://ebooks.vdcmedia.com TỰ HỌC VISUAL BASIC 6. 0 - PHẦN Hệ thống