第9章 VFP6菜單設(shè)計(jì)_第1頁(yè)
第9章 VFP6菜單設(shè)計(jì)_第2頁(yè)
第9章 VFP6菜單設(shè)計(jì)_第3頁(yè)
第9章 VFP6菜單設(shè)計(jì)_第4頁(yè)
第9章 VFP6菜單設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩34頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第第9章章 VFP6菜單設(shè)計(jì)菜單設(shè)計(jì) 學(xué)習(xí)要點(diǎn)學(xué)習(xí)要點(diǎn) 1、規(guī)劃應(yīng)用程序菜單系統(tǒng)。 2、使用菜單設(shè)計(jì)器設(shè)計(jì)應(yīng)用系統(tǒng)菜單,為菜單指定任 務(wù)。 3、自定義工具欄及在表單集中添加自定義工具欄。 9.1 在應(yīng)用程序中使用菜單在應(yīng)用程序中使用菜單 9.1.1 創(chuàng)建菜單系統(tǒng)創(chuàng)建菜單系統(tǒng) 用戶在查找信息之前,首先看到的便是菜單。如果把菜單設(shè) 計(jì)得很好,那么只要根據(jù)菜單的組織形式和內(nèi)容,用戶就可以 很好地理解應(yīng)用程序。為此,VFP提供了“菜單設(shè)計(jì)器”,可以 用來(lái)創(chuàng)建菜單,提高應(yīng)用程序的質(zhì)量。 創(chuàng)建菜單系統(tǒng)的大量工 作是在“菜單設(shè)計(jì)器”中 完成。 在項(xiàng)目管理器中選擇 “其他”選項(xiàng)卡,從中選 擇“菜單”,然后單擊

2、 “新建”打開(kāi)“新建菜單” 對(duì)話框。 選擇“菜單”,打開(kāi) “菜單設(shè)計(jì)器”。 創(chuàng)建一個(gè)菜單系統(tǒng)包括若干步驟。不管應(yīng)用程序的規(guī)模多大, 打算使用的菜單多么復(fù)雜,創(chuàng)建菜單系統(tǒng)都需以下步驟: 第1步、規(guī)劃與設(shè)計(jì)系統(tǒng):確定需要哪些菜單、出現(xiàn)在界面的 何處以及哪幾個(gè)菜單要有子菜單等等。有關(guān)規(guī)劃菜單系統(tǒng)的詳細(xì) 內(nèi)容,請(qǐng)參閱本章稍后的規(guī)劃菜單系統(tǒng)。 第2步、創(chuàng)建菜單和子菜單:使用菜單設(shè)計(jì)器可以定義菜單標(biāo)題、 菜單項(xiàng)和子菜單。 第3步、按實(shí)際要求為菜單系統(tǒng)指定任務(wù):指定菜單所要執(zhí)行的 任務(wù),例如顯示表單或?qū)υ捒虻?。另外,如果需要,還可以包含 初始化代碼和清理代碼。初始化代碼在定義菜單系統(tǒng)之前執(zhí)行, 其中可以打開(kāi)

3、文件;聲明變量;或?qū)⒉藛蜗到y(tǒng)保存到堆棧中,以 便可以在后面的程序執(zhí)行中恢復(fù)。清理代碼中包含的代碼在菜單 的定義代碼之后執(zhí)行,使菜單和菜單項(xiàng)可用或不可用。 第4步、生成菜單程序。 第5步、運(yùn)行生成的程序,測(cè)試菜單系統(tǒng)。 9.1.2 規(guī)劃菜單系統(tǒng)規(guī)劃菜單系統(tǒng) 應(yīng)用程序的實(shí)用性一定程度上取決于菜單系統(tǒng)的質(zhì)量。花費(fèi)一 定時(shí)間規(guī)劃菜單,有助于用戶接受這些菜單,同時(shí)也有助于用 戶對(duì)這些菜單的學(xué)習(xí)。設(shè)計(jì)菜單系統(tǒng)時(shí),要考慮下列準(zhǔn)則: 以建立Gxglxt菜單為例說(shuō)明規(guī)劃菜單系統(tǒng)的準(zhǔn)則: 1、按照用戶所要執(zhí)行的任務(wù)組織系統(tǒng),而不要按應(yīng)用程序的層 次組織系統(tǒng)。只要查看菜單和菜單項(xiàng),用戶就應(yīng)該可以對(duì)應(yīng)用 程序的組織方

4、法有一個(gè)感性認(rèn)識(shí)。因此,要設(shè)計(jì)好這些菜單和 菜單項(xiàng),必須清楚用戶思考問(wèn)題的方法和完成任務(wù)的方法。 根據(jù)簡(jiǎn)單的Gxglxt項(xiàng)目的基本任務(wù),可以將所建立的菜單系統(tǒng)分 為和系統(tǒng)有關(guān)的操作(如操作員注冊(cè)、添加、刪除操作員、退 出系統(tǒng)等);與數(shù)據(jù)輸入有關(guān)的操作(如添加新系、添加新班 級(jí)、添加新專(zhuān)業(yè)、添加新課程等、學(xué)生注冊(cè)、成績(jī)錄入);與 數(shù)據(jù)輸出有關(guān)的操作(如學(xué)生情況報(bào)表、學(xué)生成績(jī)報(bào)表);與 信息查詢有關(guān)的操作(如系查詢、班級(jí)查詢、專(zhuān)業(yè)查詢、課程 查詢、學(xué)生查詢等);最后是幫助。 2、給每個(gè)菜單一個(gè)有意義的菜單標(biāo)題。 第一個(gè)菜單箋命令名為【系統(tǒng)管理】,其中包括菜單項(xiàng)【操作 員注冊(cè)】、【添加操作員】、【刪

5、除操作員】、【退出】;第 二個(gè)菜單箋命令名為【輸入數(shù)據(jù)】,其中包括菜單項(xiàng)【添加新 系】、【添加新班級(jí)】、【添加新專(zhuān)業(yè)】、【添加新課程】、 【學(xué)生注冊(cè)】、【成績(jī)錄入】;第三個(gè)菜單箋命名為【報(bào)表】, 其中包括【學(xué)生情況報(bào)表】、【打印學(xué)生成績(jī)】;第四個(gè)菜單 箋命名為【查詢】,其中包括【系查詢】、【班級(jí)查詢】、 【專(zhuān)業(yè)查詢】、【課程查詢】、【學(xué)生查詢】;第五個(gè)菜單箋 命名為【幫助】,其中只包含【關(guān)于】菜單項(xiàng)。 3、按照估計(jì)的菜單項(xiàng)使用頻率、邏輯順序或字母順序組織菜單 項(xiàng)。如果不能預(yù)計(jì)頻率,也無(wú)法確定邏輯順序,則可以按字母 順序組織菜單項(xiàng)。當(dāng)菜單中包含有八個(gè)以上的菜單項(xiàng)時(shí),按字 母順序特別有效。太多的菜

6、單項(xiàng)需要用戶花費(fèi)一定的時(shí)間才能 瀏覽一遍,而按字母順序則便于查看菜單項(xiàng)。 通常是將【系統(tǒng)管理】放在第一位,然后才是對(duì)數(shù)據(jù)的有關(guān)操 作的菜單??砂础鞠到y(tǒng)管理】、【數(shù)據(jù)輸入】、【查詢】、【報(bào) 表】、【幫助】的次序設(shè)置菜單。 4、 放置分隔線:第一個(gè)菜單箋中在【退出】菜單項(xiàng)上設(shè)置一 條,第二個(gè)菜單箋將【學(xué)生注冊(cè)】、【成績(jī)錄入】菜單項(xiàng)與其它 菜單項(xiàng)分開(kāi),第三個(gè)菜單箋不設(shè)分隔線,第四個(gè)菜單箋分成三個(gè) 部分:【系查詢】、【班級(jí)查詢】為第一部分;專(zhuān)業(yè)查詢】、 【課程查詢】為第二部分;【學(xué)生查詢】為第三部分,第五個(gè)菜 單箋不設(shè)分隔線。 5、將菜單上菜單項(xiàng)的數(shù)目限制在一個(gè)屏幕之內(nèi)。 6、如果菜單項(xiàng)的數(shù)目超過(guò)了一

7、屏,則應(yīng)為其中的一些菜單項(xiàng)創(chuàng) 建子菜單。 7、為菜單項(xiàng)指定任務(wù): 8、為菜單和菜單項(xiàng)設(shè)置訪問(wèn)鍵或鍵盤(pán)快捷鍵。 說(shuō)明:【退出】習(xí)慣用Alt+E,【幫助】習(xí)慣用Alt+H、【關(guān)于】 習(xí)慣用Alt+A作為訪問(wèn)鍵,其它可任意設(shè)定,但最好是使用Ctrl+ 或Alt+和能代表菜單項(xiàng)功能的某一個(gè)特殊的字母組合為快捷鍵, 快捷鍵的定義在一個(gè)菜單中不要有重復(fù)。 9、使用能夠準(zhǔn)確描述菜單項(xiàng)的文字。描述菜單項(xiàng)時(shí),要使用日 常用語(yǔ)而不要使用計(jì)算機(jī)術(shù)語(yǔ)。同時(shí),說(shuō)明選擇一個(gè)菜單項(xiàng)產(chǎn)生 的效果時(shí),應(yīng)使用簡(jiǎn)單、生動(dòng)的動(dòng)詞,而不要將名詞當(dāng)作動(dòng)詞使 用,另外,要用相似語(yǔ)句結(jié)構(gòu)說(shuō)明菜單項(xiàng)。 10、在菜單項(xiàng)中混合使用大小寫(xiě)字母。 9

8、.1.3 創(chuàng)建菜單創(chuàng)建菜單 規(guī)劃好菜單系統(tǒng)之后,就可以使用菜單設(shè)計(jì)器創(chuàng)建該系統(tǒng)了。 這時(shí),可以創(chuàng)建菜單、快捷菜單、菜單項(xiàng)、子菜單和菜單項(xiàng)組 之間的分隔線等等。 1、創(chuàng)建菜單 按前述方法打開(kāi)“菜單設(shè)計(jì)器”。 “菜單設(shè)計(jì)器”中選項(xiàng)說(shuō)明: “菜單名稱(chēng)”:在菜單系統(tǒng)中指定菜單標(biāo)題和菜單項(xiàng)的名稱(chēng)。 “結(jié)果”:指定在選擇菜單標(biāo)題或菜單項(xiàng)時(shí)發(fā)生的動(dòng)作。例如, 可執(zhí)行一個(gè)命令,打開(kāi)一個(gè)子菜單或運(yùn)行一個(gè)過(guò)程。 “創(chuàng)建”:在“結(jié)果”項(xiàng)中選擇“子菜單”或“過(guò)程”時(shí),用于 指定菜單標(biāo)題或菜單項(xiàng)的子菜單或過(guò)程。 “編輯”:在創(chuàng)建了“子菜單”或“過(guò)程”后,可以更改與菜單 標(biāo)題或菜單項(xiàng)相關(guān)的子菜單或過(guò)程。 “選項(xiàng)”:顯示“

9、提示選項(xiàng)”對(duì)話框,可以在其中定義鍵盤(pán)快捷 鍵和其它菜單選擇。 “菜單級(jí)”:彈出下拉菜單,讓用戶選擇要處理的菜單或子菜單。 “預(yù)覽”:顯示正在創(chuàng)建的菜單的預(yù)覽結(jié)果。 “插入”:在“菜單設(shè)計(jì)器”窗口中插入新的一行。 “插入欄”:顯示“插入系統(tǒng)菜單條”對(duì)話框,使用戶可以插入 標(biāo)準(zhǔn)的VFP菜單項(xiàng)。 “刪除”:從“菜單設(shè)計(jì)器”中刪除當(dāng)前菜單行。 利用菜單設(shè)計(jì)器窗口各個(gè)選項(xiàng)就可以設(shè)計(jì)完整的菜單。 1、創(chuàng)建Gxglxt菜單 1、創(chuàng)建【系統(tǒng)】 管理菜單箋 系統(tǒng)管理(S) 創(chuàng)建【數(shù)據(jù)輸入】 菜單箋 數(shù)據(jù)輸入(I) 創(chuàng)建【報(bào)表】菜 單箋 報(bào)表(R) 創(chuàng)建【查詢】菜 單箋 查詢(Q) 創(chuàng)建【幫助】菜單箋 幫助(H)

10、 2、創(chuàng)建【系統(tǒng)管理】的子菜單:選擇【系統(tǒng)管理】 單擊【創(chuàng)建】創(chuàng)建【操作員注冊(cè)】菜單項(xiàng) 操作員注冊(cè) 單擊【選項(xiàng)】按鈕設(shè)置快捷鍵 在光標(biāo)置于此欄后按下要 定義的快捷鍵Ctrl+O 單擊【確定】“提示選項(xiàng)”對(duì)話 框 按相同的方法 創(chuàng)建【添加操 作員】、【刪 除操作員】、 【退出】三個(gè) 菜單項(xiàng)。 在指定的菜單項(xiàng)(【刪除操作員】與【退出】菜單項(xiàng)之間)中添加分隔線: 選中下面的菜單項(xiàng)【退出】后單擊【插入】按鈕。 刪除“新菜單項(xiàng)”幾個(gè)字后輸入“-” 【系統(tǒng)管理】菜單箋定義后,單擊“菜單級(jí)”下拉選擇框,從中選擇“菜單欄”。 按創(chuàng)建子菜單的方法創(chuàng)建其他菜單箋下的菜單項(xiàng)(子菜單),過(guò)程略。 3、為菜單項(xiàng)指定任務(wù)

11、 子菜單創(chuàng)建后, 此處的“創(chuàng)建” 將變?yōu)椤熬庉嫛薄?單擊【編輯】 單擊“結(jié)果”下 拉選擇框,從中 選擇“命令”。在此框中輸入該菜單 項(xiàng)應(yīng)執(zhí)行的命令:Do Form Formsoperator 說(shuō)明:表單按 上機(jī)指導(dǎo)中 的定義,使用同 樣的方法為另三 個(gè)菜單項(xiàng)指定任 務(wù)。 【系統(tǒng)管理】菜單箋中各菜單項(xiàng)的任務(wù)指定完成后,單擊“菜單級(jí)”下拉選 擇框,從中選擇“菜單欄”。 按相同的方法分別為【數(shù)據(jù)輸入】、【報(bào)表】、【查詢】、【幫助】的子 菜單中各菜單項(xiàng)指定任務(wù)。 菜單設(shè)計(jì)完成后,選擇系統(tǒng)菜單上的【菜單】|【生成】,生成.MPR文件。 生成gxglxt.mpr文件后,便可以在項(xiàng)目管理器中運(yùn)行該文件:在項(xiàng)

12、 目管理器中選擇“其他”選項(xiàng)卡,然后從“菜單”中選擇 “gxglxt”,再單擊【運(yùn)行】。運(yùn)行的結(jié)果格式如下: 各子菜單格式如下: 最后的一項(xiàng)【項(xiàng)目】并不是我們所定義的共單箋。因?yàn)槲覀兪窃凇绊?xiàng)目管理 器”中運(yùn)行的gxglxt.mpr文件,項(xiàng)目管理器沒(méi)有關(guān)閉才有【項(xiàng)目】這一項(xiàng)。如 果在菜單運(yùn)行后將“項(xiàng)目管理器”關(guān)閉,則這一項(xiàng)將會(huì)變?yōu)椤靖袷健?。在?yīng)用 程序中將菜單連編后脫離VFP運(yùn)行時(shí),就不會(huì)有這一項(xiàng)。 2、通過(guò)修改快速菜單得到自戶自定義菜單 若要從已有的VFP菜單系統(tǒng)開(kāi)始創(chuàng)建菜單,則可以使用“快速 菜單”功能。若要用“快速菜單”創(chuàng)建菜單系統(tǒng),可以按下列步 驟進(jìn)行: 打開(kāi)“菜單設(shè)計(jì)器”,然后從系統(tǒng)菜

13、單上的【菜單】中選擇 【快速菜單】。 在“快速菜單”中通過(guò)【插入】、【刪除】或修改得到所要求 的菜單格式。 例如,如果要在“幫助”菜單前插入“客戶”菜單,可以選擇 與“幫助”菜單行,再選擇“插入”按鈕,然后在“菜單名稱(chēng)” 欄中鍵入“客戶”,其結(jié)果如圖 。 移動(dòng)按鈕 注意:拖動(dòng)移動(dòng)按鈕可以改變菜單欄上各菜單的位置。 如果需要“幫助”菜單,應(yīng)將它安排在菜單欄上的最后,這樣 用戶能夠很快找到它。 在應(yīng)用程序中使用菜單之前,必須將它生成。 3、創(chuàng)建快捷菜單 在VFP6或者在Windows中,選定某個(gè)控件或?qū)ο蠛髥螕粲益I時(shí), 就會(huì)顯示快捷菜單,可以快速展示對(duì)當(dāng)前對(duì)象進(jìn)行操作的各種可 用的功能。正是因?yàn)檫@

14、種菜單的方便快捷,它才被稱(chēng)為快捷菜單。 可用VFP創(chuàng)建快捷菜單,并將這些菜單附加在控件中。 若要?jiǎng)?chuàng)建快捷菜單??蓮摹绊?xiàng)目管理器”中選擇【其他】選項(xiàng)卡, 選擇“菜單”,并選定【新建】。接下來(lái)選擇【快捷菜單】,則 出現(xiàn)“快捷菜單設(shè)計(jì)器”。 進(jìn)入“快捷 菜單設(shè)計(jì)器” 后,添加菜單 項(xiàng)的過(guò)程與創(chuàng) 建菜單完全相 同。 例如,創(chuàng)建一個(gè)包含有二個(gè)選項(xiàng)【運(yùn)行表單】和【關(guān)閉】的快 捷菜單。瀏覽命令的代碼是DO FORM ?,在關(guān)閉菜單定義時(shí), “結(jié)果”欄中選擇“菜單項(xiàng)#”,在“結(jié)果”欄后的欄中輸入 “_mfi_close”,表示調(diào)用系統(tǒng)菜單中的“關(guān)閉”功能。創(chuàng)建完成 后,將生成一個(gè)菜單名為Myquickmenu

15、.mpr,其中Myquickmenu 是自己命名的菜單文件名。所創(chuàng)建的菜單結(jié)果如圖 然后在系統(tǒng)菜單中選擇【菜單】|【生成】,生成QuickMenu.mpr。 最后在“屬性示例”表 單的RightClick Event方法 程序中添加下行代碼: Do MenusQuickMenu.mpr 9.1.4 在應(yīng)用程序中包含菜單在應(yīng)用程序中包含菜單 創(chuàng)建了菜單系統(tǒng)后,可將其包含在應(yīng)用程序中。若要在應(yīng)用程 序中包含菜單,可將.mnx文件添加到項(xiàng)目中,并由項(xiàng)目建立應(yīng) 用程序。 創(chuàng)建并生成了快捷菜單以后,就可將其附加到控件中。當(dāng)用戶 在控件上單擊鼠標(biāo)右鍵時(shí),顯示典型的快捷菜單。在控件的Rig- htClick

16、(單擊鼠標(biāo)右鍵)事件中輸入少量代碼,即可將快捷菜單 附加到特定的控件中。 先選擇要附加快捷菜單的控件,然后在“屬性”窗口中選擇 “方法程序”選項(xiàng)卡并選擇“RightClick Event”最后在代碼窗口 中鍵入Do menu.mpr,其中menu是快捷菜單的文件名。 注意:引用快捷菜單時(shí),必須使用.mpr擴(kuò)展名。 如在上一節(jié)中,在“屬性示例”表單的RightClick Event事件代 碼中添加代碼DO MenusQuickmenu.mpr。 如果想將此快捷菜單應(yīng)用于所有新創(chuàng)建的表單,則可以修改表 單的類(lèi)定義。步驟如下: (1)打開(kāi)“項(xiàng)目管理器”并選擇“類(lèi)”選項(xiàng)卡。 (2)選擇【添加】,將C:

17、Program FilesMicrosoft Visual StudioVfp98 Wizar-dsWizembss.vcx添加到“類(lèi)”中。 單擊【確定】 (3)單擊Wizembss 類(lèi)前的“+”號(hào),再選 擇Embossedform子類(lèi) (4)選擇“項(xiàng)目管 理器”上的【修改】 按鈕,打開(kāi)“類(lèi)設(shè)計(jì) 器” (5)選擇“屬性” 對(duì)話框中的“方法程序” 選項(xiàng)卡,再選定 RightClick Event事件。 (6)雙擊RightClick Event,打開(kāi)方法程序代 碼編輯窗口,在該窗口 中輸入命令 : DO MENUSQUICKMENU.MPR (7)關(guān)閉“方法程序”編輯窗口,關(guān)閉“類(lèi)設(shè)計(jì)器”窗口,

18、將所做的修改 保存到Embossedform子類(lèi)中。 說(shuō)明:Embossedform子類(lèi)是建立 表單的類(lèi)(Class),以后所建的 表 單 均 含 有 單 擊 右 鍵 時(shí) 調(diào) 用 Myquickmeun菜單的功能。 若要將SDI菜單附加到表單中可 在創(chuàng)建了SDI菜單后,將其附加 到SDI表單中,其步驟如下: (1)在“表單設(shè)計(jì)器”中,將 表單的Show Window屬性設(shè)置為 “2-作為頂層表單”。 (2)在表單的Init事件中調(diào)用該菜單。例如,假設(shè)菜單名為Quickmenu.mpr, 添加此代碼: DO Quickmenu.mpr WITH THIS,.T. 9.1.5 為菜單系統(tǒng)指定任務(wù)為

19、菜單系統(tǒng)指定任務(wù) 在創(chuàng)建菜單系統(tǒng)時(shí),需要考慮系統(tǒng)訪問(wèn)的簡(jiǎn)便性,也必須為系 統(tǒng)指定任務(wù)。必須為菜單和菜單項(xiàng)指定所執(zhí)行的任務(wù),如顯示 表單、工具欄以及其他的菜單系統(tǒng)。 用戶應(yīng)該定義可以訪問(wèn)菜單系統(tǒng)的訪問(wèn)鍵,還可以添加鍵盤(pán)快 捷鍵,并且控制菜單何時(shí)可用。 1、指定訪問(wèn)鍵、指定訪問(wèn)鍵 設(shè)計(jì)良好的菜單都具有訪問(wèn)鍵,從而通過(guò)鍵盤(pán)可以快速地訪問(wèn) 菜單的功能。在菜單標(biāo)題或菜單項(xiàng)中,訪問(wèn)鍵用帶有下劃線的 字母表示。例如,VFP的【文件】菜單使用“F”作為訪問(wèn)鍵。 如果沒(méi)有為某個(gè)菜單標(biāo)題或菜單項(xiàng)指定訪問(wèn)鍵,VFP將自動(dòng)指定 第一個(gè)字母作為訪問(wèn)鍵。例如,假定沒(méi)有給創(chuàng)建的“EDIT”菜單 定義訪問(wèn)鍵,VFP將指定第一

20、個(gè)字母(E)作為它的訪問(wèn)鍵。 若要為菜單或菜單項(xiàng)指定訪問(wèn)鍵,可在希望成為訪問(wèn)鍵的字母 左側(cè)鍵入“”。例如,要在“EDIT”菜單標(biāo)題中設(shè)置“I”作為訪 問(wèn)鍵,可在“菜單名稱(chēng)”欄中將“EDIT”替換為“EDIT”或 “EDITA 單擊【確定】按鈕返 回到“菜單設(shè)計(jì)器” 返回到“菜單設(shè)計(jì)器”后,可用同樣的方法設(shè)置其他菜單項(xiàng)啟用或廢止。 4、輸入過(guò)程或程序 如:在Gxglxt菜單的【查詢】菜單箋中所有的菜單項(xiàng)均調(diào)用同 一個(gè)表單查詢界面(表單中的數(shù)據(jù)源來(lái)自系統(tǒng)當(dāng)前工作區(qū)中的 表),不同處是對(duì)不同的查詢菜單項(xiàng)使用不同的表。由于使用同 一表單界面,為菜單項(xiàng)指定任務(wù)時(shí)可以通過(guò)調(diào)用過(guò)程完成。 打開(kāi)“菜單設(shè)計(jì)器”

21、,進(jìn)入到【查詢】菜單箋中,如圖: 將【查詢】 菜單箋中的所 有菜單項(xiàng)的 “結(jié)果”設(shè)置 為“過(guò)程”。 方法同前。然 后選擇【系查 詢】,單擊 【創(chuàng)建】按鈕。 在“系查詢”-過(guò)程編輯窗口中輸入過(guò)程代碼: PUBLIC NWORKAREA,LUSEED NWORKAREA=SELECT(0) LUSEED=.T. IF !USED(DEPARTMENT) LUSED=.F. SELECT 0 USE DATADEPARTMENT ENDIF SELECT DEPARTMENT DO FORM FORMSDATAQUERY 然后關(guān)閉“過(guò)程”編輯窗口。 返回“菜單設(shè)計(jì)器”后,使用同樣的方法為其他菜單項(xiàng)編

22、輯過(guò)程。 共用的查 詢表單名 可以為菜單或菜單項(xiàng)指定一個(gè)過(guò)程,指定過(guò)程的方式取決于菜 單或菜單項(xiàng)是否有子菜單。若要為不含有子菜單的菜單或菜單 項(xiàng)指定過(guò)程,可以在“菜單名稱(chēng)”欄中,選擇相應(yīng)的菜單標(biāo)題 或菜單項(xiàng),再在“結(jié)果”框中選擇“過(guò)程”,“創(chuàng)建”按鈕出 現(xiàn)在列表的右側(cè)。如果先前已定義了一個(gè)過(guò)程,則這里出現(xiàn)的 是“編輯”按鈕,再選擇“創(chuàng)建”或“編輯”,在窗口中鍵入 正確的代碼。 由于VFP會(huì)自動(dòng)地生成PROCEDURE語(yǔ)句,因而不必在過(guò)程編輯 窗口中鍵入此語(yǔ)句,只有在清理代碼中才需要PROCEDURE語(yǔ)句。 為含有子菜單的菜單或菜單項(xiàng)指定過(guò)程的步驟如下: (1)請(qǐng)?jiān)凇安藛渭?jí)”框中,選擇包含相應(yīng)菜

23、單或菜單項(xiàng)的菜單 級(jí)。 (2)從系統(tǒng)菜單中選擇【顯示】|【菜單選項(xiàng)】。 (3)可以用下列方法之一指定一個(gè)過(guò)程:在“過(guò)程”框中編寫(xiě) 或調(diào)用過(guò)程,或者選擇“編輯”,然后再選擇“確定”,打開(kāi) 獨(dú)立的編輯窗口并編寫(xiě)或調(diào)用過(guò)程。 5、向菜單系統(tǒng)添加初始化代碼和清理代碼 向菜單系統(tǒng)添加初始化代碼可以定制菜單系統(tǒng),初始化代碼可以 包含創(chuàng)建環(huán)境的代碼、定義變量的代碼、打開(kāi)所需文件的代碼, 以及使用PUSH MENU和POP MENU保存或恢復(fù)菜單系統(tǒng)的代碼。 向菜單系統(tǒng)中添加初始化代碼,可以從系統(tǒng)菜單中選擇【顯示】 |【常規(guī)選項(xiàng)】,在“菜單代碼”區(qū)域,選擇“設(shè)置”,然后再 選擇【確定】,再在初始化代碼窗口中,

24、鍵入適當(dāng)?shù)某跏蓟a。 向菜單系統(tǒng)添加清理代碼可以減小菜單系統(tǒng)的大小。清理代碼常 包含一些代碼,在初始時(shí)啟用或廢止菜單系統(tǒng)中的菜單或菜單項(xiàng)。 在生成并運(yùn)行菜單程序時(shí),初始化代碼及菜單定義代碼在清理代 碼之前執(zhí)行。向菜單系統(tǒng)中添加清理代碼,可以從系統(tǒng)菜單中選 擇【顯示】|【常規(guī)選項(xiàng)】,在“菜單代碼”區(qū)域,選擇“清 理”,然后再選擇【確定】,再在清理代碼窗口中,鍵入適當(dāng)?shù)?清理代碼。關(guān)閉“菜單設(shè)計(jì)器”時(shí),同時(shí)保存所做的變更。 注意:如果設(shè)計(jì)的菜單是應(yīng)用程序的主菜單,則應(yīng)該在清理代碼 中包含READ EVENTS命令,并為退出菜單系統(tǒng)的菜單命令指定 一個(gè)CLEAR命令。這可以防止應(yīng)用程序的運(yùn)行過(guò)早地

25、中斷。 9.2 創(chuàng)建自定義工具欄創(chuàng)建自定義工具欄 如果應(yīng)用程序中包含一些用戶經(jīng)常重復(fù)執(zhí)行的任務(wù),那么可 以添加相應(yīng)的自定義工具欄,簡(jiǎn)化操作,加速任務(wù)的執(zhí)行。 下面各節(jié)介紹的是為應(yīng)用程序創(chuàng)建自定義工具欄的方法。 9.2.1 定義工具欄類(lèi)定義工具欄類(lèi) 如果要?jiǎng)?chuàng)建一個(gè)工具欄,要它包含己有工具欄所沒(méi)有的按鈕, 則可通過(guò)定義一個(gè)自定義工具欄類(lèi)完成此任務(wù)。VFP提供了一 個(gè)工具欄基類(lèi),在此基礎(chǔ)上可以創(chuàng)建所需的類(lèi)。創(chuàng)建新類(lèi)的方 法在5.4.5類(lèi)的操作方法中已作詳細(xì)的講解。 定義了工具欄類(lèi)以后,可向工具欄類(lèi)添加對(duì)象,并為自定義工 具欄定義屬性、事件和方法程序,最后可將工具欄添加到表單 集中。 9.2.2 在表

26、單集中添加自定義工具欄在表單集中添加自定義工具欄 在定義一個(gè)工具欄類(lèi)之后,便可以用這個(gè)類(lèi)創(chuàng)建一個(gè)工具欄。 可以用“表單設(shè)計(jì)器”或者用編寫(xiě)代碼的方法,將工具欄與表 單對(duì)應(yīng)起來(lái)。 1、在“表單設(shè)計(jì)器”中協(xié)調(diào)工具欄和表單 可以在表單集中添加工具欄,讓工具欄與表單集中的各個(gè)表單 一起打開(kāi)。但不能直接在某個(gè)表單中添加工具欄。使用“表單 設(shè)計(jì)器”在表單集中添加工具欄的步驟如下: (1)先注冊(cè)并選定包含工具欄類(lèi)的類(lèi)庫(kù)。 (2)打開(kāi)要使用上述工具欄類(lèi)的表單集,再?gòu)摹氨韱慰丶惫?具欄選擇“查看類(lèi)”,然后從顯示的列表中選擇該工具欄類(lèi)。 (3)從“表單控件”工具欄中選擇工具欄類(lèi)。 (4)在“表單設(shè)計(jì)器”中單擊,添

27、加此工具欄,然后將工具欄 拖動(dòng)到適當(dāng)?shù)奈恢?,VFP將在表單集上添加工具欄,如果表單集 尚未打開(kāi),VFP將提示用戶打開(kāi)一個(gè)。 (5)為工具欄及其按鈕定義操作。 2、使用代碼協(xié)調(diào)工具欄和表單 除了使用“表單設(shè)計(jì)器”外,還可以使用代碼在表單集中添 加工具欄。如果要使用代碼在表單集中添加工具欄,可以在表 單集的Init事件中,使用SET CLASSLB命令,指定包含工具欄 類(lèi)的類(lèi)庫(kù),然后在表單集中由此類(lèi)創(chuàng)建工具欄。 例如,要添加并顯示基于_base類(lèi)庫(kù)中_toolbar類(lèi)的工具欄 mytoolbar,可以在表單集的Init事件中添加下列代碼: SET CLASSLIB TO LIBS_BASE THI

28、S.ADDOBJECT(MYTOOLBAR,_TOOLBAR) THIS.MYTOOLBAR.SHOW 如果使用已經(jīng)定義了的一個(gè)工具欄,如在第五章中定義的 NEWTOOLBAR工具欄,則可以在表單集的Init事件添加如下代 碼: SET CLASSLIB TO LIBSNEWTOOLBAR ADDITIVE THIS.ADDOBJECT(MYTOOLBAR,NEWTOOLBAR) THIS.MYTOOLBAR.SHOW 注意:如果工具欄類(lèi)沒(méi)有定義工具欄及其按鈕要執(zhí)行的操作,那么必須在 與工具欄及其按鈕相關(guān)的事件過(guò)程中定義操作。 3、創(chuàng)建自定義工具欄示例 可以在代碼中定義工具欄的各個(gè)要素。例如,

29、在第五章中定義 的NEWTOOLBAR工具欄沒(méi)有指定工具欄及其按鈕等要執(zhí)行的 操作,現(xiàn)以該工具欄添加到表單集為例,說(shuō)明其方法。先在表 單集的Init事件中添加下列代碼,當(dāng)加載表單集時(shí),VFP將創(chuàng)建 并顯示代碼中定義的工具欄,該工具欄如圖: SET CLASSLIB TO LIBSNEWTOOLBAR ADDITIVE THIS.ADDOBJECT(MYTOOLBAR,NEWTOOLBAR) THIS.MYTOOLBAR.SHOW 對(duì)NEWTOOLBAR工具欄中各控件的執(zhí)行代碼定義的步驟及 代碼如下: (1)選擇“項(xiàng)目管理器”中的“類(lèi)”選項(xiàng)卡。 (2)找到并選擇以前定義的NEWTOOLBAR類(lèi)。

30、 (3)單擊“項(xiàng)目管理器”的【修改】按鈕。 (4)分控件進(jìn)行代碼設(shè)計(jì)。 對(duì)Combo1組合框的代碼進(jìn)行定義: 選擇Combo1控件,在“屬性”中選擇“其它”選項(xiàng)卡,將 Enabled屬性設(shè)為“假” 。(在表單集中不設(shè)文章排版)。 對(duì)Combo2組合框的代碼進(jìn)行定義: 選擇Combo2控件,在“屬性”中選擇“數(shù)據(jù)”選項(xiàng)卡,將 RowSourceType屬性設(shè)為“1-值”,將RowSource屬性設(shè)為 宋體, 黑體,仿宋,楷體(還可以添加其它VFP能識(shí)別的字體名)。設(shè)置初 始值,將Value屬性設(shè)為=宋體。 選擇“方法程序”選項(xiàng)卡,雙擊Click Event,在彈出的代碼編 輯框中寫(xiě)入如下代碼:

31、THISFORMSET.ActiveForm.ActiveControl.FontName=THIS.VALUE 對(duì)Combo3組合框的代碼進(jìn)行定義: 在上一步的方法程序編輯框中,從“對(duì)象”后的組合框中選擇 Combo3,然后在Click Event方法程序編輯框中輸入如下的代碼: THISFORMSET.ActiveForm.ActiveControl.FontSize=; VAL(ALLTRIM(THIS.VALUE) 在“屬性”中的對(duì)象選擇框中選擇Combo3對(duì)象,再選擇“數(shù) 據(jù)”選項(xiàng)卡,將RowSourceType屬性設(shè)為“1-值”,將RowSource 屬性設(shè)為8,9,10,11,1

32、2,14,16,18,20,22,24,26,28, 36,48,72。設(shè)置初始 值,將Value屬性設(shè)為=9。 對(duì)Command1命令按鈕的代碼進(jìn)行定義: 在上一步的方法程序編輯框中,從“對(duì)象”后的組合框中選擇 Command1對(duì)象,然后在Click Event方法程序編輯框中輸入如下 的代碼: THISFORMSET.ActiveForm.ActiveControl.FontBold=; !THISFORMSET.ActiveForm.ActiveControl.FontBold THIS.FontBold=THISFORMSET.ActiveForm.ActiveControl.FontBold 對(duì)Command2命令按鈕的代碼進(jìn)行定義: 在上一步的方法程序編輯框中,從“對(duì)象”后的組合框中選擇 Command2對(duì)象,然后在Click Event方法程序編輯框中輸入如下 的代碼: THISFORMSET.ActiveForm.ActiveContro

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論