Hiển thị các loại hộp thoại OPEN
Hộp thoại Open (Open dialog) là một hộp thoại chuẩn cho phép người dùng chọn một file hay một thư mục.
Thực hành: Viết chương trình mở một file (Text hoặc rtf) và hiển thị trong điều khiển Richtext Box.
Các bước thực hiện:
Bước 1: Tạo một Project mới
Bước 2: Vào menu Project → Components và tham chiếu đến 2 file OCX là Rich Textbox và Common Dialog như hình 1
Bước 3: Kéo điều khiển Dialog và Richtext vào Form
Các điều khiển dùng trong chương trình
Thiết kế giao diện:
Giao diện và kết quả khi chạy chương trình
Viết lệnh: frmMain.frm
Option Explicit'/// Mở các file Richtext Format (các file có phần mở rộng là RTF)
Private sub cmdOpenRTFFile_Click()
dlgHopThoai.DialogTitle = "Mo file Text" '/// Tiêu đề của hộp thoại
dlgHopThoai.Filter = "Cac file Richtext (*.RTF)|*.rtf|" '/// Chỉ hiển thị các file RTF
Ngôn ngữ lập trình Visual Basic
43
rtfEditor.LoadFile dlgHopThoai.FileName, rtfRTF '/// Mở file vừa chọn trong RTF
EndSub'/// Mở các file Text (các file có phần mở rộng là TXT) Private sub cmdOpenTextFile_Click()
dlgHopThoai.DialogTitle = "Mo file Text" dlgHopThoai.Filter = "Cac file text(*.txt)|*.txt|" dlgHopThoai.Showopen
rtfEditor.LoadFile
dlgHopThoai.FileName, rtfText EndSub
Ghi chú:
• Phương thức LoadFile của điều khiển Richtext dùng để mở một file. Nó đòi hỏi 2 tham số, tham số thứ nhất là đường dẫn đến file cần mở, tham số thứ hai là loại file cần mở (Tham số này là tuỳ chọn và có thể bỏ qua).
• Thuộc tính 2- CenterScreen dùng để đặt Form vào giữa màn hình khi hiển thị. • Thuộc tính AutoVerbMenu = True của điều khiển Richtext để cho phép hiển thị
menu (Copy, cut, Paste, Undo) khi người dùng click chuột phải lên Richtext control.
• Trong trường hợp, khi hộp thoại mở ra, nếu người dùng không chọn file nào (Chọn nút Cancel) thì thuộc tính FileName sẽ có giá trị ở lần mở trước đó hoặc sẽ có giá trị rỗng, và như vậy có thể gây lỗi nạp file. Để giải quyết trường hợp này, có thể viết lại đoạn chương trình trên như sau:
Private sub cmdOpenRTFFile_Click() dlgHopThoai.DialogTitle = "Mo file Text" dlgHopThoai.Filter = "Cac file Richtext
(*.RTF)|*.rtf|"
dlgHopThoai.FileName = "" '/// Khởi tạo trước
dlgHopThoai.Showopen
If dlgHopThoai.FileName <> "" Then ' /// Đã chọn file
rtfEditor.LoadFile dlgHopThoai.FileName, rtfRTF
End If
End Sub