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

Kiến trúc tương tác giữa người dùng & ứ ng dụng VB (tt)

Một phần của tài liệu TÀI LIỆU MÔN TIN HỌC ĐỐI TƯỢNG - PHƯƠNG PHÁP GIẢI QUYẾT BÀI TOÁN BẰNG MÁY TÍNH SỐ PPTX (Trang 132 -134 )

I E= T*R

Kiến trúc tương tác giữa người dùng & ứ ng dụng VB (tt)

‰ Xem hình vẽcủa slide trước (miêu tảkiến trúc tương tác giữa người dùng & ứng dụng VB), ta thấy :

ƒ cấp thấp nhất là các thiết bị phần cứng, mỗi thiết bị có tính chất riêng và khác với các thiết bịkhác (ngay cảcùng loại, cùng hãng nhưng khác model). ƒ cấpdevice driver điều khiển và giao tiếp trực tiếp với phần cứng nhưng che

dấu mọi tính chất chi tiết của phần cứng, nó cung cấp cho cấp trên 1 giao tiếp sử dụng phần cứngđộc lập với tính chất phần cứngđó ⇒Mỗi model thiết bị

phần cứng của 1 hãng cần có device driver riêng.

ƒ cấp HĐHxử lý các chức năng luận lý (đệm dữliệu, xửlý sai,...) trước khi nhờ

device driver giao tiếp trực tiếp với phần cứng. Windows che dấu các loại phần cứng và tạo ra những thiết bịtrừu tượngđể ứng dụng truy xuất chúng dễ

dàng vàđộc lập với loại thiết bị(đối tượng Printer, Screen, Mouse, Keyboard). ƒ VB tạo ra những đối tượng giao diện cao cấp và dễ dùng : mỗi đối tượng

giao diện (form, window, listbox,...) đều có thể giao tiếp trực tiếp với người dùng để nhập/xuất dữ liệu, chờ nhận sự kiện hay chủ động thông báo cho user.

Chương 10: Tương tác giữa người dùng & chương trình

Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM

Môn : Tin học

Slide 262

Kiến trúc tương tác gia người dùng & ng dng VB (tt)

‰ Sau khiđã biết kiến trúc giao tiếp I/O của ứng dụng VB, khi cần giao tiếp với người dùng, ta nên :

ƒ dùng các đối tượng giao diện cao cấp (định sẵn của VB hay ActiveX Control).

ƒ trong 1 số trường hợp cần thiết ta sẽdùng cácđối tượng của Windows như

Printer và Screen.

ƒ trong 1 số trường hợp tối cần thiết ta mới gọi các hàm trong giao tiếp của device driver.

ƒ và tuyệt đối không nên truy xuất trực tiếp phần cứng thiết bị I/O vì rất khó khăn, không an toàn, dễbịtranh chấp với cácứng dụng chạyđồng thời.

‰ Tương tác với người dùng thông qua cácđối tượng giao diệnđược thực hiện như

sau :

ƒ nhập liệu/nhận lệnh thông qua các thủ tục xử lý sự kiện của phần tử giao diện tươngứng.

ƒ xuất kết quả/thông báo bằng cách gán kết quảvào thuộc tính tươngứng của

đối tượng giao diện hay dùng các method vẽ đồhọa tổng quát.

Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM

Môn : Tin học

Slide 263

10.2 Giao tiếp vi keyboard qua cácđối tượng giao din

‰ Mặc dù có thểcó nhiều phần tửgiao diện cùngđược hiển thịtrên màn hình tại từng thởiđiểm nhưng chỉcó 1 phần tửgiao diệnđược giao tiếp với thiết bịI/O, ta gọi phần tửgiao diện này là 'active' hay được 'focus'.

‰ Liên quanđến việcấn thả1 phím, VB sẽtạo ra 3 sựkiện sauđây và gởi vềcho phần tử được 'focus' hiện hành :

ƒ KeyDown : sự kiện xảy ra khi người sử dụng bấm (ấn xuống) bất kỳ một phím nào trên bàn phím.

ƒ KeyUp: sựkiện xảy ra khi người sửdụng thảphím vừaấn ra.

ƒ KeyPress: sựkiện xảy ra khi người sửdụngấn/thảbất kỳmột phím nào trên bàn phím mà tạo rađược 1 ký tựANSI.

Chương 10: Tương tác giữa người dùng & chương trình

Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM

Môn : Tin học

Slide 264

Thtc xlý s kin KeyDown, KeyUp & KeyPress

‰ Thủtục có dạng sau :

Private SubControlName_KeyDown (KeyCode as Integer, Shift as Integer).

Private SubControlName_KeyUp (KeyCode as Integer, Shift as Integer).

trongđó :

ƒ ControlNamelà tên củađiều khiển nhận sựkiện keydown/keyup. ƒ KeyCode là mã "virtual code" của phímđượcấn/thả.

ƒ Shift là giá trị miêu tảtrạng tháiấn giữcác phímđiều khiển (là một dãy bit với bit 0 cho phím SHIFT, bit 1 cho phím CTRL, bit 2 cho phím ALT).

‰ Thủtục KeyPress có dạng sau :

Private SubControlName_KeyPress (KeyAscii As Integer)

trongđó :

ƒ ControlNamelà tên củađiều khiển nhận sựkiện keypress. ƒ KeyAscii là mã ký tựANSI của phímđượcấn/thả.

‰ Mỗiđối tượng có thủtục xửlý biến cốriêng, thủtục này cũng là method củađối tượng tươngứng.

Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM

Môn : Tin học

Slide 265 Private Sub Text1_KeyDown (KeyCode As Integer, Shift As Integer)

Dim ShiftDown, AltDown, CtrlDown, Txt ShiftDown = (Shift And vbShiftMask) > 0 AltDown = (Shift And vbAltMask) > 0 CtrlDown = (Shift And vbCtrlMask) > 0

If KeyCode = vbKeyF2 Then ' Display key combinations. If ShiftDown And CtrlDown And AltDown Then

Txt = "SHIFT+CTRL+ALT+F2." ElseIf ShiftDown And AltDown Then

Txt = "SHIFT+ALT+F2."

ElseIf ShiftDown And CtrlDown Then Txt = "SHIFT+CTRL+F2." ElseIf CtrlDown And AltDown Then

Txt = "CTRL+ALT+F2." ElseIf ShiftDown Then

Txt = "SHIFT+F2." ElseIf CtrlDown Then Txt = "CTRL+F2." ElseIf AltDown Then Txt = "ALT+F2." ElseIf SHIFT = 0 Then

Txt = "F2." End If

Text1.Text = "You pressed " & Txt End If

End Sub

Một phần của tài liệu TÀI LIỆU MÔN TIN HỌC ĐỐI TƯỢNG - PHƯƠNG PHÁP GIẢI QUYẾT BÀI TOÁN BẰNG MÁY TÍNH SỐ PPTX (Trang 132 -134 )

×