Tài liệu này dành cho sinh viên, giáo viên khối ngành công nghệ thông tin tham khảo và có những bài học bổ ích hơn, bổ trợ cho việc tìm kiếm tài liệu, giáo án, giáo trình, bài giảng các môn học khối ngành công nghệ thông tin Khoa Công ngh Thông Tin
Trang 1Bài 11 - Tạo menu và toolbar
I Giới thiệu
• Menu và Toolbar là các công cụ tiện lợi, khoa học cho việc tổ chức các chức năng của hệ thống
• Menu, ví dụ menu của Visual Foxpro (hình sau), được dùng để tổ chức các chức năng của Visual Foxpro
Trong đó:
o Thanh nganh (chứa các mục File, Edit ) gọi Menu Bar
o Các mục như File, Edit trên Menu Bar gọi là PAD
o Khi kích hoạt mỗi PAD (ví dụ như PAD Program trong hình trên)-> Xuất hiện một POPUP menu
o Mỗi mục trên POPUP menu (như Do, Cancel trong hình trên) được gọi là một BAR
• ToolBar được dùng để tổ chức các chức năng thường xuyên được sử dụng
Ví dụ như Form Designer Toolbar của Visual Foxpro
• ShortCut menu là popup menu xuất hiện khi click chuột phải (Lên một đối tượng nào đó) Ví dụ shortcut sau xuất hiện khi right click trên nền form (khi thiết kế):
Trang 2II Thiết kế menu
Các bước thực hiện
1 Mở Project cần làm, trong Project Manager chọn Tab Other
2 Chọn Menus
3 Chọn New, khi đó giao diện New menu xuất hiện như hình sau:
4 Chọn Menu Khi đó giao diện Menu Designer xuất hiện như hình sau:
Giao diện Menu Designer
Trang 31 Menu level: Chỉ ra đối tượng (menu) đang thiết kế (ở khung bên trái) là đối tượng nào Menu Bar (như hình trên) là mức cao nhất (Menu bar), hoặc các Submenu
2 Mỗi dòng trong khung thiết kế là một mục của Menu level Ví dụ như hình trên thì “Cap nhat tu dien”, “Cap nhat du lieu” và “Bao cao - Thong ke” là các mục của Menu Bar
3 Prompt: Tên các mục của menu (như là caption chứ không phải là định danh) Ví dụ như hình trên thì menu bar có 3 mục là: “Cap nhat tu dien”,
“Cap nhat du lieu” và “Bao cao - Thong ke”
4 Result: Hành động xảy ra khi một mục được chọn Tham số này có thể nhận giá trị: Command, PAD name, Submenu và Procedure, tùy thuộc vào Result mà việc thiết lập các tham số khác của một mục là khác nhau:
a Command: Nhập vào 1 lệnh của FOX;
b PAD Name: Tên một PAD menu (đã được tạo trước đó)
c Submenu (menu con): Lệnh Create (hoặc Edit) để sửa đổi menu con
d Procedure: Lệnh Create (hoặc Edit) để viết thủ tục
e BAR #: Tên một BAR (đã được tạo trước đó)
5 Insert: Chèn thêm 1 mục vào menu level
6 Delete: Xóa 1 mục khỏi menu level
7 Move Item: Di chuyển các mục
8 Preview: Xem thử menu đang thiết kế
Prompt Options
Trang 4Với mỗi mục của menu có thể được thiết lập thêm các lựa chọn như phím nóng, hình ảnh để thiết lập các lựa chọn này chọn mục Option (ứng với mỗi mục), khi đó giao diện xuất hiện như hình sau:
1 Key Label: “Phím nóng” (ví dụ như Ctrl+C của Word).
2 Key Text: Text thể hiện của “phím nóng” (nên đặt trùng với Key Label).
3 Negotiate: Chỉ áp dụng đối với các PAD, và chỉ có hiệu ứng khi chạy ở
chế độ OLE edit
4 Skip for: Cho phép nhập vào 1 biểu thức logic, nếu biểu thức này có giá
trị FALSE thì mục này sẽ Disabled
5 Message: Thông báo ở Status bar khi di chuyển con trỏ đến mục này.
6 Picture - File: đường dẫn + File ảnh
7 Picture - Resource: Chọn ảnh theo các thiết kế sẵn của Visual Foxpro
8 Comment: Giải thích, ghi chú.
Ví dụ
Trang 5Thiết kế menu theo yêu cầu trong bài 1 (demo trong Visual Foxpro).
Gắn một menu vào Form
Để gắn một menu vào form chúng ta thực hiện như sau:
1 Thiết lập thuộc tính Top - Level Form cho menu: Trong chế độ thiết kế menu (menu Designer) vào menu View/General Option khi đó giao
diện chương trình có dạng:
Đánh dấu (check) ô Top-Level Form như hình trên rồi chọn OK Nếu không chọn Top-Level Form thì menu được tạo sẽ xuất hiện thay thế menu hệ thống
2 Đối với Form:
a Thiết lập thuộc tính ShowWindow là 2 - As Top-Level Form.
b Trong sự kiện Init (Form.Init) viết dòng lệnh sau:
DO <MenuName> WITH THIS, T
Thực thi (chạy) một menu
Chỉ thực hiện đối với các menu không phải là Top-Level Form (xem phần
trên)
Các bước thực hiện
Trang 61 Mở Project cần làm, trong Project Manager chọn Tab Other
2 Chọn Menus, và mở rộng
3 Chọn menu cần thực hiện
4 Chọn lệnh Run.
Hoặc thực hiện lệnh
DO <MenuName>
Lưu ý: Thực hiện lệnh SET SYSMENU TO DEFAULT để trả lại menu hệ
thống của Visual Foxpro
III Thiết kế SHORTCUT
Các bước thực hiện
1 Mở Project cần làm, trong Project Manager chọn Tab Other
2 Chọn Menus
3 Chọn New, khi đó giao diện New menu xuất hiện như hình sau:
4 Chọn Shortcut Khi đó giao diện Shortcut Designer xuất hiện như hình sau:
Trang 7Giao diện Shortcut Designer
Tương tự giao diện Menu Designer vc
Sử dụn trong Form
Có thể thiết lập shortcut cho bất kỳ đối tượng nào trên form Ví dụ cần thiết lập shortcut cho form, khi đó viết vào sự kiện rightClick của form dòng lệnh sau:
DO <TenShortCut>
IV Thiết kế toolbar
Các bước thực hiện
1 Mở Project cần làm, trong Project Manager chọn Tab Class
2 Chọn New, khi đó giao diện New Class xuất hiện như hình sau:
Trong đó:
Trang 8o Class name: Tên lớp do người sử dụng đặt (trong hình trên đặt là myToolBar)
o Based On: Cho phép chọn 1 trong các lớp cơ sở của Visual Foxpro, trường hợp này cần tạo ToolBar nên chúng ta chọn ToolBar
o Store In: Tên thư viện do người sử dụng đặt (trong hình trên là MyClass), thư viện có phần mở rộng là VCX
3 Sau khi đã thiết lập xong các tùy chọn (như trên) chọn OK để tiếp tục, khi đó giao diện Class Designer xuất hiện như hình sau:
4 Thiết kế Class nói chung và ToolBar nói riêng là tương đối giống với thiết kế Form Trường hợp này là thiết kế ToolBar nên chỉ cần đưa các Command control vào, viết lệnh đáp ứng sự kiện cho chúng Ví dụ chúng ta thêm vào 4 nút lệnh khi đó ToolBar của chúng ta có dạng như sau:
Trang 9Đưa một toolbar vào form
Các bước thực hiện
1 Mở form cần có toolbar ở chế độ thiết kế
2 Trong thanh công cụ Form controls chọn lệnh View Classes như hình
sau:
3 Chọn lệnh Add, khi đó hộp thoại open file xuất hiện cho phép chọn file clas (*.VCX), ở đây chúng ta chọn file class vừa tạo ở bước trên Khi đó thanh công cụ Form controls sẽ có dạng:
Trường hợp file class có nhiều đối tượng hơn thì thanh công cụ này sẽ khác
Trang 104 “Nhắp - Thả” đối tượng mytoolbar vào form.
Lưu ý: đối tượng mytoolbar như chúng ta vừa thiết kế chỉ làm việc với Formset, do đó nếu chưa tạo Formset thì khi “Nhắp - thả” mytoolbar vào form chúng ta sẽ nhận được thông báo sau:
Chọn Yes để đồng ý hoặc No để hủy bỏ (không tạo formset và cũng không đưa mytoolbar vào form)
Bài tập
Tạo hệ thống Menu cho hệ quản lý điểm (như đã chỉ ra trong bài 1)