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).ạ ệ ố ệ ả để ưđ ỉ à . 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. 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. - 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