lop09hh1n

New Member

Download miễn phí Giáo trình Visual Basic





CHƯƠNG6: LẬP TRÌNH XỬLÝ GIAO DIỆN & ĐỒHỌA
Mục tiêu:
Chương nàygiới thiệu vềcách tạo menu cũng nhưmột sốhàm xửlý đồ
họa, những thành phần quan trọng trong các ứng dụng chạytrên Windows.
Học xong chương này,sinh viên phải nắm bắt được các vấn đềsau:
- Sửdụng menu trong thiết kếgiao diện.
- Sửdụngcác hộp thoại trong thiết kế ứng dụng.
- Sửdụngcác cách đồhọa cùng với cáchxửlý một sốsựkiện
đểtạo các ứng dụng đồhọa.
Kiến thức có liên quan:
- Các cấu trúc lập trình trong VB.
- Cách thức xửlý sựkiện.



Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:

StrikeThru TRUE nếu chọn chế độ gạch ngang các ký tự.
FontUnderLine TRUE nếu chọn chế độ gạch dưới
FontName Tùy ý
Max Kích cỡ lớn nhất của Font được hiển thị
Min Kích cỡ nhỏ nhất của font được hiển thị
FontSize Kích cỡ của Font được chọn
Các giá trị của thuộc tính Flags:
Hằng Giá trị Hiệu quả
cdlCFPrinterFonts &H2 Chỉ hiển thị font máy in
cdlCFScreenFonts &H1 Chỉ hiển thị font màn hình
cdlCFBoth &H3 Chỉ hiển thị font màn hình và font máy in
cdlCFScalableOnly &H20000 Hiển thị font tỷ lệ như là fonts TrueType
Nếu muốn chọn màu cho Font, ta thêm 256 vào giá trị của thuộc tính Flags. Nếu
không có điều này, ta chỉ thấy tên Font, kiểu Font và kích cỡ Font mà thôi.
Để mở hộp thoại chọn Font, ta sử dụng cách ShowFont.
II.4.4 Hộp thoại in ấn
Đây là hộp thoại cho phép xác lập các thông tin về máy in chẳng hạn như
bao nhiêu dữ liệu được in, máy in sẽ hoạt động như thế nào…
Hộp thoại in ấn, nó trả về 3 thuộc tính thông dụng: Copies, FromPage và
ToPage.
Hình VI.11 Hộp thoại in ấn
Thuộc tính Giải thích
Copies Số bản in
FromPage Số thứ tự của trang bắt đầu
Max Số bản in tối đa cho phép
Trang 72
Visual Basic
Min Số bản in tối thiểu cho phép
PrinterDefault Nếu gán thành TRUE, mọi thay đổi mà người dùng thực hiện sẽ
được ghi lại thành các thay đổi trên hệ thống và có ảnh hưởng đến
các ứng dụng khác nếu có sử dụng máy in.
ToPage Số thứ tự của trang in cuối cùng
Để mở hộp thoại in ấn, ta sử dụng cách ShowPrinter.
III. Xử lý các sự kiện chuột và bàn phím
III.1 Sự kiện chuột
Biểu mẫu hay điều khiển có thể nhận biết sự kiện chuột khi có con trỏ chuột đi
ngang qua.
Có 3 sự kiện chuột chủ yếu, đó là
Sự kiện Giải thích
MouseDown Xảy ra khi người sử dụng ấn chuột (chuột trái hay phải)
MouseUp Xảy ra khi người sử dụng thả một nút chuột bất kỳ
MouseMove Xảy ra khi con trỏ chuột di chuyển đến một điểm mới trên màn hình.
Các tham số
Tham số Giải thích
Button Cho biết phím chuột nào được ấn
Shift Cho biết SHIFT hay CTRL hay ALT được ấn
X, Y Xác định vị trí của con trỏ chuột đối với hệ tọa độ của điều khiển
Ví dụ 1: Sử dụng sự kiện MouseDown để vẽ các đoạn thẳng nối tiếp nhau mỗi
khi ta dùng chuột chấm một điểm trên biểu mẫu. Ta có thể thực hiện điều đó với đoạn
mã lệnh xử lý sự kiện Form_MouseDown như sau:
Private Sub Form_MouseDown(Button As Integer, & _
Shift As Integer, X As Single, Y As Single)
Line -(X, Y)
End Sub
Trang 73
Visual Basic
Ví dụ 2: Sử dụng sự kiện MouseUp để hiển thị một thông điệp cho biết nút
chuột nào vừa được thả. Sự kiện Form_MouseUp được xử lý:
Private Sub Form_MouseUp (Button As Integer, & _
Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
Print “Ban vua tha phim chuot trai”
End If
If Button = 2 Then
Print “Ban vua tha phim chuot phai”
End If
If Button = 4 Then
Print “Ban vua tha phim chuot giua”
End If
End Sub
Ví dụ 3: Sử dụng sự kiện MouseMove để vẽ các đường tròn liên tục trên biểu
mẫu. Sự kiện Form_MouseMove được xử lý:
Private Sub Form_MouseMove(Button As Integer, & _
Shift As Integer, X As Single, Y As Single)
Circle (X, Y), 50
End Sub
Trang 74
Visual Basic
Hình VI.13 Ví dụ về MouseMove
Với ví dụ 3 ta nhận thấy rằng: sự kiện MouseMove không nhất thiết phải xảy ra
ứng với mỗi Pixel khi con trỏ chuột đi qua. Thực ra mỗi đơn vị thời gian nào đó, hệ
điều hành phát ra một số thông điệp. Ở đây, ta vẽ đường tròn ứng với sự kiện
MouseMove, nếu người dùng di chuyển chuột chậm, thì các đường tròn sẽ được vẽ sát
nhau và ngược lại nếu chuột được di chuyển nhanh.
Hiệu chỉnh con trỏ chuột
Ta có thể dùng thuộc tính MousePointer để hiển thị một biểu tượng, con trỏ
màn hình hay con trỏ chuột đã được hiệu chỉnh. Dưới đây là các giá trị của thuộc tính
MousePointer:
Hằng Giá trị Diễn giải
ccDefault 0 (Default) Shape determined by the object.
ccArrow 1 Arrow.
ccCross 2 Cross (cross-hair pointer).
ccIbeam 3 I Beam.
ccIcon 4 Icon (small square within a square).
ccSize 5 Size (four-pointed arrow pointing north, south,
east, and west).
ccSizeNESW 6 Size NE SW (double arrow pointing northeast
and southwest).
ccSizeNS 7 Size N S (double arrow pointing north and
south).
ccSizeNWSE 8 Size NW, SE.
ccSizeEW 9 Size E W (double arrow pointing east and west).
ccUpArrow 10 Up Arrow.
ccHourglass 11 Hourglass (wait).
ccNoDrop 12 No Drop.
ccArrowHourglass 13 Arrow and hourglass.
ccArrowQuestion 14 Arrow and question mark.
ccSizeAll 15 Size all.
Trang 75
Visual Basic
ccCustom 99 Custom icon specified by the MouseIcon
property.
III.2 Sự kiện bàn phím
Bàn phím cũng có 3 sự kiện, đó là sự kiện KeyPress (khi một phím có mã
ASCII bất kỳ được ấn), KeyDown (khi một phím bất kỳ được ấn), KeyUp (khi một
phím bất kỳ được thả)
Chỉ có điều khiển đang có Focus mới bắt sự kiện bàn phím. Còn đối với biểu
mẫu, nó chỉ bắt được sự kiện bàn phím mỗi khi nó đã được kích hoạt và không có bất
kỳ điều khiển nào trên nó có Focus. Tuy nhiên ta có khể khắc phục điều này nếu như
gán giá trị thuộc tính KeyPreview của biểu mẫu là True, biểu mẫu sẽ nhận mọi sự kiện
bàn phím của mọi điều khiển đặt trên nó, điều này hữu ích khi ta muốn thực hiện cùng
một công việc nào đó cho một phím được ấn mà không quan tâm rằng Focus đang
thuộc điều khiển nào.
Các sự kiện KeyDown, KeyUp có thể phát hiện một số tình huống mà sự kiện
KeyPress không phát hiện:
- Khi người dùng bấm một tổ hợp phím SHIFT, CTRL và ALT.
- Phím định hướng.
- PAGEUP và PAGEDOWN.
- Phân biệt được phím số ở bên phải bàn phím và phím số ở bên trái bàn phím.
- Đáp ứng khi thả phím.
- Phím chức năng không trùng với menu.
Các sự kiện bàn phím là không loại trừ nhau. Tức là một phím được ấn thì có
thể là cả hai sự kiện KeyPress và KeyDown cùng được phát ra. Nhưng nếu là một
phím mà KeyPress không phát hiện được thì chỉ có KeyDown và KeyUp xảy ra.
Thuộc tính KeyPreview
Đôi khi ta muốn tất cả các điều khiển trên Form nhận được sự kiện KeyPress
chứ không phải chỉ có điều khiển đang nhận con trỏ (Focus), ta sẽ phải sử dụng thuộc
tính KeyPreview.
Khi chúng ta thiết kế một Form, giá trị mặc định của thuộc tính này sẽ là
False, khi đó bất kỳ một sự kiện bàn phím nào cũng đều được gởi đến điều khiển đang
giữ quyền điều khiển. Tuy nhiên nếu giá trị của thuộc tính là True thì Form sẽ là nơi
nhận mọi sự kiện bàn phím.
Sau đây là ví dụ về điều này:
Private Sub Form_KeyPress (KeyAscii As Integer)
' Gởi điều khiển đến textbox đầu tiên
txtForward.SetFocus
txtBackward.Text = Chr(KeyAscii) & txtBackward.Text
xtAscii.Text = txtAscii.Text & CStr(KeyAscii) & ",” t
End Sub
Trang 76
Visual Basic
Hình VI.15 Các sự kiện bàn phím
Trong ví dụ trên, nếu như giá trị của thuộc tính KeyPreview là False thì các TextBox
Backward và Ascii không thể nhận được giá trị.
IV. Xử lý đồ họa và giao diện
IV.1 Hiển thị hình ảnh
Bởi vì hệ điều hành Windows là hệ điều hành sử dụng giao diện đồ họa, do đó
một phần quan trọng trong ứng dụng của ta là cách thức để hiển thị hình ảnh trong ứng
dụng của mình. VB cung cấp cho chúng ta 4 loại điều khiển để hiển thị và quản lý hình
ảnh: Picture B...
 

Các chủ đề có liên quan khác

Top