Sự khỏc nhau khi load for mở chế độ MODAL & MODELESS 5 Tạo menu PopUp

Một phần của tài liệu Thiết kế chương trình duyệt file âm thanh bằng Visual basic (Trang 69 - 73)

- None: Textbox khụng cú thanh cuộn.

4. Sự khỏc nhau khi load for mở chế độ MODAL & MODELESS 5 Tạo menu PopUp

Nếu dũng Option Explicit xuất hiện trong cửa sổ code của chương trỡnh cũng cú nghĩa là Vb bắc buộc bạn phải khai bỏo biến một cỏch tường minh trước khi sử dụng chỳng. Mệnh đề Option Explicit được đặt ở dũng đầu tiờn trong cửa sổ Code (General Declaration). Quả thật việc bắt buộc phải khai bỏo biến sẽ làm cho chương trỡnh rừ ràng, giảm thiểu tối đa cỏc sai sút ngoài ý muốn (bugs) do khả năng tự phỏt sinh biến mới mà khụng cần khai bỏo của Visual Basic . Đõy cũng là con dao 2 lưỡi, theo tụi tớnh năng này hại nhiều hơn là lợi.

Bạn cú thể gừ trực tiếp mệnh đề Option Explicit hay nhờ VB tự động thờm giỳp bằng cỏch vào Tools / Options. Check vào Require Variable Declaration trong thẻ (tab) Editor.

Option Explicit sẽ vụ hiệu khả năng tự phỏt sinh biến của Vb. Như vậy, tất cả cỏc biến muốn sử dụng đều phải khai bỏo bằng từ khúa DIM hay #800000IM, biến nào chưa được khai bỏo VB sẽ thụng bỏo lỗi và bắt bạn phải khai bỏo mới chạy được chương trỡnh. Kiểu dữ liệu mặc nhiờn mà mỗi lần Visual Basic (Basic) tạo biến mới là Variant.

6. Tạo menu PopUp

(THIEN DANG)

1. Kiểm tra sự tồn tại của file ở bất kỳ đõu 2. Kiểm tra độ phõn giải màn hỡnh

3. Import file reg vào registry

4. Sự khỏc nhau khi load form ở chế độ MODAL & MODELESS 5. Khi nào, tại sao phải dựng Option Explicit

Trong ứng dụng ngoài loại menu kộo xuống (PullDown) cũn một loại menu nữa khỏ linh động gọi là menu PopUp. Loại menu này bạn rất thường sử dụng trong Windows 9.x, được kớch hoạt bằng phớm phải chuột. Một ứng dụng Windows hoàn chỉnh chạy trong Windows 9.x khụng thể khụng cú loại menu cấp tốc này.

Trong Visual Basic loại menu này thật ra cũng là một menu PullDown bỡnh thường mà thụi. Khi nào cần hiện thành menu PopUp bạn chỉ việc gọi tờn menu tương ứng (Name của Menu). Để cho thành menu PopUp thứ thiệt bạn hóy cho menu này ẩn đi (Visible = False), khi nào người dựng nhấn phớm phải chuột bạn sẽ cho nú hiện ra bằng method Popupmenu

Trong chương trỡnh ta cú thể dựng hành vi (method) popupmenu để gọi một menu hiển thị, menu này phải được tạo trước (menu editor) và cú ớt nhất 1 mục chọn con tức là menu thứ cấp.

Trong đú:

object: tờn form mà trỡnh đơn sẽ xuất hiện. Nếu khụng ghi cú nghĩa là dựng form

hiện hành.

menuname: tờn menu cần hiển thị.

flags: giỏ trị nguyờn qui định vị trớ xuất hiện của menupopup.

Tờn Hằng Giỏ Trị ý nghĩa

vbPopupMenuLeftAlign 0 Trị mặc định, cạnh trỏi của trỡnh đơn sẽ ở vị trớ x. vbPopupMenuCenterAlign 4 Trỡnh đơn sẽ canh giữa so với vị trớ x.

vbPopupMenuRightAlign 8 Cạnh phải của trỡnh đơn sẽ ở vị trớ x.

... ... ...

x,y Tọa độ trỡnh đơn sẽ xuất hiện. Nếu khụng ghi mặc nhiờn trỡnh đơn sẽ xuất hiện ở vị trớ mouse

Sau đõy là một thớ dụ về PopUp menu:

Mở một form trống và tạo 1 hệ thống menu như hỡnh sau. Trong hỡnh menu chớnh là Record (Name: mnuRec) vào cú một số menu con như: Insert, Append, Edit, Delete.

Để "chộp" được sự kiện nhấn Mouse bạn hóy khảo sỏt tỡnh huống MouseDown của form này. Gừ vào đoạn Code sau:

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

If Button = 2 Then

' Kiểm tra xem nỳt phải chuột cú bị nhấn khụng PopupMenu mnuRec, 0

' Cho hiển thị menu mnuRec End If

End Sub

Nhấn F5 chạy thử bạn sẽ được như hỡnh bờn. Nhưng chỳng ta lại khụng muốn cỏi menu này luụn xuất hiện sờ sờ trờn form, hóy cho nú biến mất.

Bạn chỉ cần cho cỏi menu "đầu đàn" mnuRec biến mất là cỏc menu con bờn trong cũng mất tớch theo. Hóy mở hộp thoại Menu Editor ra, click chọn menu Record, bỏ dấu check ở CheckBox Visible, click OK. Hà hà bõy giờ nú biến mất tiờu rồi.

Nhấn F5, chạy thử chương trỡnh, nhấn nỳt phải chuột... Bõy giờ thỡ thành cụng rồi hộn. Hóy ỏp dụng cỏch này vào ứng dụng Visual Basic của bạn để tiện cho người dựng.

Một phần của tài liệu Thiết kế chương trình duyệt file âm thanh bằng Visual basic (Trang 69 - 73)