Bà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 ):ế ế
II 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ở ầ ọ
Trang 22 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 ệ
1 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 ó)ướ đ
Trang 3c 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
V 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 ẫ ả
Trang 47 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ụ
Thi 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ướ ự ệ
1 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ặ ự ệ ệ
Trang 5DO <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:ọ đ ệ ấ ệ ư
Giao 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 ế ế
Trang 6Cá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 ó:đ
o 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,ườ ợ ế ế ỉ ầ đư
Trang 7vi 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:ủ ạ ư
Đ 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.ườ ợ ề đố ượ ơ ụ ẽ
4 “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:
Trang 8Ch 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).ạ ệ ố ệ ả để ưđ ỉ à