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ở ầ ọ
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ệ
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 ó)ộ đ đượ ạ ướ đ
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
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 đườ ẫ ả
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ụ
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ặ ự ệ ệ
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:ọ đ ệ ấ ệ ư
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ế ế
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 ó:đ
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,ườ ợ ế ế ỉ ầ đư
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:ủ ạ ư
Đ 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:ậ đượ
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).ạ ệ ố ệ ả để ưđ ỉ à