Kiu 2: Lp cho n khi iu kin là FALSE
12. Các hộp thoại thông dụng
12.1. Hộp thông điệp (Message Box – MsgBox).
MsgBox được sử dụng để nhắc nhở, thông báo hoặc cảnh báo người dùng. MsgBox có thể được gọi theo kiểu thủ tục (không có giá trị trả về), hoặc theo kiểu hàm (giá trị trả về là nút lệnh được người dùng chọn).
Cú pháp gọi MsgBox như sau:
Dạng thủ tục:
Framenhóm các điều khiển phục vụ việc nhập dữ liệu cho các nhóm vật liệu khác nhau.
http://www.ebook.edu.vn Dạng hàm
MsgBox(Prompt, [Buttons], [Title])
(Giá trị trả về của hàm có kiểuVbMsgBoxResult– tham khảo trong Object Browser) Tham s M t
Prompt Kiểu String. Nội dung dòng nhắc trong MsgBox.
Buttons Kiểu VbMsgBoxStyle (tham khảo trong Object Browser). Kiểu hiển thị biểu tượng và nút lệnh trong MsgBox.
Title Kiểu String. Nội dung dòng tiêu đề của MsgBox.
Ví dụ: MsgBox được gọi với mã lệnh sau:
MsgBox "Bạn có muốn thoát khỏi chương trình không", vbCritical Or _ vbYesNo, "Thoát khỏi chương trình"
12.2. Hộp nhập dữ liệu (Input Box – InputBox).
InputBox được sử dụng nhằm yêu cầu người dùng nhập một chuỗi (String) theo gợi ý của dòng nhắc (Prompt) và tiêu đề (Title) trên đó. InputBox được gọi theo dạng hàm với giá trị trả về là chuỗi dữ liệu mà người dùng nhập.
Cú pháp gọi InputBox thông thường như sau:
InputBox(Prompt, [Title], [Default], [XPos], [YPos])
Tham s M t
Prompt Kiểu String. Nội dung dòng nhắc.
Title Kiểu String. Nội dung tiêu đề.
Default Kiểu Variant. Giá trị mặc định hiển thị trong InputBox.
XPos, YPos Kiểu Double. Toạ độ góc trái trên của InputBox khi hiển thị ra màn hình.
Đoạn mã sau sẽ minh hoạ cách thức gọi InputBox:
Dim LngSodiemMax As Long LngSodiemMax = _
Val(InputBox("Nhập số lượng điểm tối đa (số nguyên dương)", _
"Số điểm tối đa", "100000")) Title
Prompt Buttons
Nếu người dùng bấm nút OK thì giá trị trả về của hàm InputBox là một chuỗi có giá trị
“100000”, còn nếu bấm nút Cancel thì giá trị trả về là một chuỗi rỗng.
12.3. Hộp thoại dựa trên điều khiển Common Dialog.
Điều khiển Common Dialog cho phép hiển thị các hộp thoại sau:
Hộp thoại Open, Save: phục vụ thao tác mở và ghi tập tin một cách trực quan.
Hộp thoại Color: phục vụ thao tác lựa chọn màu.
Hộp thoại Font: phục vụ thao tác lựa chọn font chữ.
Hộp thoại Print: phục vụ thao tác in ấn.
Để đưa điều khiển này vào trong hộp công cụ điều khiển (Control Toolbox) chọn menu Tools Additional Controls, sau đó chọn Microsoft Common Dialog Control.
Các thuộc tính của điều khiển Common Dialog.
Thuc tnh M t Ghi ch
DialogTitle Tiêu đề của hộp thoại Kiểu String
FileName Trả về đường dẫn và tên của file được chọn - Hộp thoại Open, Save.
Kiểu String FileTitle Trả về tên của file được chọn (không chứa đường dẫn) - Hộp
thoại Open, Save.
Kiểu String Filter Mô tả các kiểu file sẽ được hiển thị trong hộp thoại - Hộp thoại
Open, Save.
Kiểu String
http://www.ebook.edu.vn
FilterIndex Kiểu file mặc định sẽ được hiển thị trong hộp thoại - Hộp thoại Open, Save.
Kiểu Integer DefaultExt Phần mở rộng mặc định được gắn trong hộp thoại (khi người
dùng không chọn mà nhập text vào trong phần tên file) - hộp thoại Open, Save.
Kiểu String
InitDir Đường dẫn khởi tạo trong hộp thoại - Hộp thoại Open, Save Kiểu String CancelError Qui định có phát sinh lỗi hay không khi người dùng chọn nút
Cancel trong hộp thoại.
Kiểu Boolean Color Trả về màu được chọn trong hộp thoại – Hộp thoại Color Tham khảo
Object Browser Các phương thức của điều khiển Common Dialog.
Phng thc M t Ghi ch
ShowOpen Hiển thị hộp thoại mở file (Open) Tham khảo trong Object Browser hoặc Help
ShowSave Hiển thị hộp thoại ghi file (Save) ShowColor Hiển thị hộp thoại chọn màu (Color) ShowFont Hiển thị hộp thoại chọn font chữ (Font) ShowPrinter Hiển thị hộp thoại in ấn (Printer)
Ví dụ: Xây dựng UserForm gồm các điều khiển như hình dưới:
Yêu cầu:
Người dùng bấm nútOpen Pathđể lấy về đường dẫn của một file sau đó hiển thị nó trên điều khiểnlbPath.
Người dùng chọn nútSelect Colorđể đổi màu của UserForm.
Mã lệnh tham khảo như sau:
Mã lệnh với thủ tục sự kiệnClick củacmdOpen Private Sub cmdOpen_Click()
Dim strPath As String ' Xau luu tru duong dan cua file duoc chon Dim strFilter As String ' Xau bieu dien cac kieu file hien thi
strFilter = "App(*.exe)|*.exe|Text(*.txt)|*.txt|All files (*.*)|*.*"
With cmDlg
.DialogTitle = "Chon file"
.InitDir = "C:\Program Files" ' duong dan mac dinh Label
Name: lbPath
Common Dialog Name: cmDlg
Command Button Name: cmdOpen
Command Button Name: cmdColor
.Filter = strFilter .ShowOpen
strPath = .Filename ' lay ve ten day du cua file duoc chon End With
lbPath.Caption = strPath End Sub
Mã lệnh với thủ tục sự kiệnClick củacmdColor Private Sub cmdColor_Click()
Dim lngColor As Long ‘ bien luu tru mau duoc chon With cmDlg
.ShowColor
lngColor = .color ‘ lay ve mau nguoi dung chon trong hop thoai End With
Me.BackColor = lngColor End Sub