第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ō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(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) 用戶(hù)在查找信息之前,首先看到的便是菜單。如果把菜單設(shè)計(jì)得很好,那么只要根據(jù)菜單的組織形式和內(nèi)容,用戶(hù)就可以很好地理解應(yīng)用程序。為此,VFP提供了“菜單設(shè)計(jì)器”,可以用來(lái)創(chuàng)建菜單,提高應(yīng)用程序的質(zhì)量。 創(chuàng)建菜單系統(tǒng)的大量工作是在“菜單設(shè)計(jì)器”中完成。 在項(xiàng)目管理器中選擇“其他”選項(xiàng)卡,從中選擇“菜單”,然后單擊“新建”打開(kāi)“新建菜單”

2、對(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ū)υ捒虻取A硗猓绻枰?,還可以包含初始化代碼和清理代碼。初始化代碼在定義菜單系統(tǒng)之前執(zhí)行,其中可以打開(kāi)文件;聲明變量;或?qū)⒉藛蜗到y(tǒng)保存到堆棧中,以便可以

3、在后面的程序執(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ì)量?;ㄙM(fèi)一定時(shí)間規(guī)劃菜單,有助于用戶(hù)接受這些菜單,同時(shí)也有助于用戶(hù)對(duì)這些菜單的學(xué)習(xí)。設(shè)計(jì)菜單系統(tǒng)時(shí),要考慮下列準(zhǔn)則:以建立Gxglxt菜單為例說(shuō)明規(guī)劃菜單系統(tǒng)的準(zhǔn)則:1、按照用戶(hù)所要執(zhí)行的任務(wù)組織系統(tǒng),而不要按應(yīng)用程序的層次組織系統(tǒng)。只要查看菜單和菜單項(xiàng),用戶(hù)就應(yīng)該可以對(duì)應(yīng)用程序的組織方法有一個(gè)感性認(rèn)識(shí)。因此,要設(shè)計(jì)好這些菜單和菜單項(xiàng),必須清楚用戶(hù)思考問(wèn)題

4、的方法和完成任務(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)表);與信息查詢(xún)有關(guān)的操作(如系查詢(xún)、班級(jí)查詢(xún)、專(zhuān)業(yè)查詢(xún)、課程查詢(xún)、學(xué)生查詢(xún)等);最后是幫助。 2、給每個(gè)菜單一個(gè)有意義的菜單標(biāo)題。第一個(gè)菜單箋命令名為【系統(tǒng)管理】,其中包括菜單項(xiàng)【操作員注冊(cè)】、【添加操作員】、【刪除操作員】、【退出】;第二個(gè)菜單箋命令名為【輸入數(shù)據(jù)】,其中包括菜單項(xiàng)【添加新系】、【添加

5、新班級(jí)】、【添加新專(zhuān)業(yè)】、【添加新課程】、【學(xué)生注冊(cè)】、【成績(jī)錄入】;第三個(gè)菜單箋命名為【報(bào)表】,其中包括【學(xué)生情況報(bào)表】、【打印學(xué)生成績(jī)】;第四個(gè)菜單箋命名為【查詢(xún)】,其中包括【系查詢(xún)】、【班級(jí)查詢(xún)】、【專(zhuān)業(yè)查詢(xún)】、【課程查詢(xún)】、【學(xué)生查詢(xún)】;第五個(gè)菜單箋命名為【幫助】,其中只包含【關(guān)于】菜單項(xiàng)。3、按照估計(jì)的菜單項(xiàng)使用頻率、邏輯順序或字母順序組織菜單項(xiàng)。如果不能預(yù)計(jì)頻率,也無(wú)法確定邏輯順序,則可以按字母順序組織菜單項(xiàng)。當(dāng)菜單中包含有八個(gè)以上的菜單項(xiàng)時(shí),按字母順序特別有效。太多的菜單項(xiàng)需要用戶(hù)花費(fèi)一定的時(shí)間才能瀏覽一遍,而按字母順序則便于查看菜單項(xiàng)。通常是將【系統(tǒng)管理】放在第一位,然后才是對(duì)

6、數(shù)據(jù)的有關(guān)操作的菜單。可按【系統(tǒng)管理】、【數(shù)據(jù)輸入】、【查詢(xún)】、【報(bào)表】、【幫助】的次序設(shè)置菜單。 4、 放置分隔線:第一個(gè)菜單箋中在【退出】菜單項(xiàng)上設(shè)置一條,第二個(gè)菜單箋將【學(xué)生注冊(cè)】、【成績(jī)錄入】菜單項(xiàng)與其它菜單項(xiàng)分開(kāi),第三個(gè)菜單箋不設(shè)分隔線,第四個(gè)菜單箋分成三個(gè)部分:【系查詢(xún)】、【班級(jí)查詢(xún)】為第一部分;專(zhuān)業(yè)查詢(xún)】、【課程查詢(xún)】為第二部分;【學(xué)生查詢(xún)】為第三部分,第五個(gè)菜單箋不設(shè)分隔線。 5、將菜單上菜單項(xiàng)的數(shù)目限制在一個(gè)屏幕之內(nèi)。6、如果菜單項(xiàng)的數(shù)目超過(guò)了一屏,則應(yīng)為其中的一些菜單項(xiàng)創(chuàng)建子菜單。 7、為菜單項(xiàng)指定任務(wù): 8、為菜單和菜單項(xiàng)設(shè)置訪問(wèn)鍵或鍵盤(pán)快捷鍵。 說(shuō)明:【退出】習(xí)慣用Al

7、t+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.1.3 創(chuàng)建菜單創(chuàng)建菜單 規(guī)劃好菜單系統(tǒng)之后,就可以使用菜單設(shè)計(jì)器創(chuàng)建該系統(tǒng)了。這時(shí),可以創(chuàng)建菜單、快捷菜單、菜單項(xiàng)、子菜單和菜單項(xiàng)組之間的分隔線

8、等等。1、創(chuàng)建菜單 按前述方法打開(kāi)“菜單設(shè)計(jì)器”?!安藛卧O(shè)計(jì)器”中選項(xiàng)說(shuō)明:“菜單名稱(chēng)”:在菜單系統(tǒng)中指定菜單標(biāo)題和菜單項(xiàng)的名稱(chēng)?!敖Y(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ò)程?!斑x項(xiàng)”:顯示“提示選項(xiàng)”對(duì)話框,可以在其中定義鍵盤(pán)快捷鍵和其它菜單選擇。“菜單級(jí)”:彈出下拉菜單,讓用戶(hù)選擇要處理的菜單或子菜單。“預(yù)覽”:顯示正在創(chuàng)建的菜單的預(yù)覽結(jié)果。“插入”:在“菜

9、單設(shè)計(jì)器”窗口中插入新的一行。“插入欄”:顯示“插入系統(tǒng)菜單條”對(duì)話框,使用戶(hù)可以插入標(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)建【查詢(xún)】菜單箋查詢(xún)(Q)創(chuàng)建【幫助】菜單箋幫助(H)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)建【添加操

10、作員】、【刪除操作員】、【退出】三個(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ù)子菜單創(chuàng)建后,此處的“創(chuàng)建”將變?yōu)椤熬庉嫛薄螕簟揪庉嫛繂螕簟敖Y(jié)果”下拉選擇框,從中選擇“命令”。在此框中輸入該菜單項(xiàng)應(yīng)執(zhí)行的命令:Do Form Formsoperator 說(shuō)明:表單按上機(jī)指導(dǎo)中的定義,使用同樣的方法為另三個(gè)菜單項(xiàng)指定任務(wù)?!鞠到y(tǒng)管理】菜

11、單箋中各菜單項(xiàng)的任務(wù)指定完成后,單擊“菜單級(jí)”下拉選擇框,從中選擇“菜單欄”。 按相同的方法分別為【數(shù)據(jù)輸入】、【報(bào)表】、【查詢(xún)】、【幫助】的子菜單中各菜單項(xiàng)指定任務(wù)。 菜單設(shè)計(jì)完成后,選擇系統(tǒng)菜單上的【菜單】|【生成】,生成.MPR文件。生成gxglxt.mpr文件后,便可以在項(xiàng)目管理器中運(yùn)行該文件:在項(xiàng)目管理器中選擇“其他”選項(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)目管

12、理器”關(guān)閉,則這一項(xiàng)將會(huì)變?yōu)椤靖袷健?。在?yīng)用程序中將菜單連編后脫離VFP運(yùn)行時(shí),就不會(huì)有這一項(xiàng)。2、通過(guò)修改快速菜單得到自戶(hù)自定義菜單 若要從已有的VFP菜單系統(tǒng)開(kāi)始創(chuàng)建菜單,則可以使用“快速菜單”功能。若要用“快速菜單”創(chuàng)建菜單系統(tǒng),可以按下列步驟進(jìn)行: 打開(kāi)“菜單設(shè)計(jì)器”,然后從系統(tǒng)菜單上的【菜單】中選擇【快速菜單】。 在“快速菜單”中通過(guò)【插入】、【刪除】或修改得到所要求的菜單格式。 例如,如果要在“幫助”菜單前插入“客戶(hù)”菜單,可以選擇與“幫助”菜單行,再選擇“插入”按鈕,然后在“菜單名稱(chēng)”欄中鍵入“客戶(hù)”,其結(jié)果如圖 。移動(dòng)按鈕 注意:拖動(dòng)移動(dòng)按鈕可以改變菜單欄上各菜單的位置。 如果

13、需要“幫助”菜單,應(yīng)將它安排在菜單欄上的最后,這樣用戶(hù)能夠很快找到它。 在應(yīng)用程序中使用菜單之前,必須將它生成。3、創(chuàng)建快捷菜單 在VFP6或者在Windows中,選定某個(gè)控件或?qū)ο蠛髥螕粲益I時(shí),就會(huì)顯示快捷菜單,可以快速展示對(duì)當(dāng)前對(duì)象進(jìn)行操作的各種可用的功能。正是因?yàn)檫@種菜單的方便快捷,它才被稱(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)行表

14、單】和【關(guān)閉】的快捷菜單。瀏覽命令的代碼是DO FORM ?,在關(guān)閉菜單定義時(shí),“結(jié)果”欄中選擇“菜單項(xiàng)#”,在“結(jié)果”欄后的欄中輸入“_mfi_close”,表示調(diào)用系統(tǒng)菜單中的“關(guān)閉”功能。創(chuàng)建完成后,將生成一個(gè)菜單名為Myquickmenu.mpr,其中Myquickmenu是自己命名的菜單文件名。所創(chuàng)建的菜單結(jié)果如圖 然后在系統(tǒng)菜單中選擇【菜單】|【生成】,生成QuickMenu.mpr。 最后在“屬性示例”表單的RightClick Event方法程序中添加下行代碼:Do MenusQuickMenu.mpr9.1.4 在應(yīng)用程序中包含菜單在應(yīng)用程序中包含菜單 創(chuàng)建了菜單系統(tǒng)后,可將

15、其包含在應(yīng)用程序中。若要在應(yīng)用程序中包含菜單,可將.mnx文件添加到項(xiàng)目中,并由項(xiàng)目建立應(yīng)用程序。創(chuàng)建并生成了快捷菜單以后,就可將其附加到控件中。當(dāng)用戶(hù)在控件上單擊鼠標(biāo)右鍵時(shí),顯示典型的快捷菜單。在控件的Rig-htClick(單擊鼠標(biāo)右鍵)事件中輸入少量代碼,即可將快捷菜單附加到特定的控件中。先選擇要附加快捷菜單的控件,然后在“屬性”窗口中選擇“方法程序”選項(xiàng)卡并選擇“RightClick Event”最后在代碼窗口中鍵入Do menu.mpr,其中menu是快捷菜單的文件名。注意:引用快捷菜單時(shí),必須使用.mpr擴(kuò)展名。如在上一節(jié)中,在“屬性示例”表單的RightClick Event事件

16、代碼中添加代碼DO MenusQuickmenu.mpr。 如果想將此快捷菜單應(yīng)用于所有新創(chuàng)建的表單,則可以修改表單的類(lèi)定義。步驟如下:(1)打開(kāi)“項(xiàng)目管理器”并選擇“類(lèi)”選項(xiàng)卡。 (2)選擇【添加】,將C: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

17、)雙擊RightClick Event,打開(kāi)方法程序代碼編輯窗口,在該窗口中輸入命令 :DO MENUSQUICKMENU.MPR (7)關(guān)閉“方法程序”編輯窗口,關(guān)閉“類(lèi)設(shè)計(jì)器”窗口,將所做的修改保存到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)用

18、該菜單。例如,假設(shè)菜單名為Quickmenu.mpr,添加此代碼:DO Quickmenu.mpr WITH THIS,.T.9.1.5 為菜單系統(tǒng)指定任務(wù)為菜單系統(tǒng)指定任務(wù) 在創(chuàng)建菜單系統(tǒng)時(shí),需要考慮系統(tǒng)訪問(wèn)的簡(jiǎn)便性,也必須為系統(tǒng)指定任務(wù)。必須為菜單和菜單項(xiàng)指定所執(zhí)行的任務(wù),如顯示表單、工具欄以及其他的菜單系統(tǒng)。用戶(hù)應(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)有為

19、某個(gè)菜單標(biāo)題或菜單項(xiàng)指定訪問(wèn)鍵,VFP將自動(dòng)指定第一個(gè)字母作為訪問(wèn)鍵。例如,假定沒(méi)有給創(chuàng)建的“EDIT”菜單定義訪問(wèn)鍵,VFP將指定第一個(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菜單的【查詢(xún)】菜單箋中所有的菜單項(xiàng)均調(diào)用同一個(gè)表單查詢(xún)界面(表單中的數(shù)據(jù)源來(lái)自系統(tǒng)當(dāng)前工作區(qū)中的表),不同處

20、是對(duì)不同的查詢(xún)菜單項(xiàng)使用不同的表。由于使用同一表單界面,為菜單項(xiàng)指定任務(wù)時(shí)可以通過(guò)調(diào)用過(guò)程完成。 打開(kāi)“菜單設(shè)計(jì)器”,進(jìn)入到【查詢(xún)】菜單箋中,如圖: 將【查詢(xún)】菜單箋中的所有菜單項(xiàng)的“結(jié)果”設(shè)置為“過(guò)程”。方法同前。然后選擇【系查詢(xún)】,單擊【創(chuàng)建】按鈕。在“系查詢(xún)”-過(guò)程編輯窗口中輸入過(guò)程代碼:PUBLIC NWORKAREA,LUSEEDNWORKAREA=SELECT(0)LUSEED=.T.IF !USED(DEPARTMENT)LUSED=.F.SELECT 0USE DATADEPARTMENTENDIFSELECT DEPARTMENTDO FORM FORMSDATAQUERY然

21、后關(guān)閉“過(guò)程”編輯窗口。返回“菜單設(shè)計(jì)器”后,使用同樣的方法為其他菜單項(xiàng)編輯過(guò)程。共用的查詢(xún)表單名可以為菜單或菜單項(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ò)程的步

22、驟如下:(1)請(qǐng)?jiān)凇安藛渭?jí)”框中,選擇包含相應(yīng)菜單或菜單項(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è)置”,然后再選擇【確定

23、】,再在初始化代碼窗口中,鍵入適當(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ù)那謇泶a。關(guān)閉“菜單設(shè)計(jì)器”時(shí),同時(shí)保存所做的變更。注意:如果設(shè)計(jì)的菜單是應(yīng)用程序的主菜單,則應(yīng)該在清理代碼中包含READ EVENTS命令,并為退出菜單系統(tǒng)的菜單命令指定一個(gè)CLEAR命令。這可以防止應(yīng)用程序的運(yùn)行

24、過(guò)早地中斷。 9.2 創(chuàng)建自定義工具欄創(chuàng)建自定義工具欄 如果應(yīng)用程序中包含一些用戶(hù)經(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 在表單集中添

25、加自定義工具欄在表單集中添加自定義工具欄 在定義一個(gè)工具欄類(lèi)之后,便可以用這個(gè)類(lèi)創(chuàng)建一個(gè)工具欄??梢杂谩氨韱卧O(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)摹氨韱慰丶惫ぞ邫谶x擇“查看類(lèi)”,然后從顯示的列表中選擇該工具欄類(lèi)。(3)從“表單控件”工具欄中選擇工具欄類(lèi)。(4)在“表單設(shè)計(jì)器”中單擊,添加此工具欄,然后將工具欄拖動(dòng)到

26、適當(dāng)?shù)奈恢茫琕FP將在表單集上添加工具欄,如果表單集尚未打開(kāi),VFP將提示用戶(hù)打開(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 THIS.ADDOBJECT(MYTOOLBAR,_

27、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è)要素。例如,在第五章中定義的NEWTOOLBAR工具欄沒(méi)有指定工具

28、欄及其按鈕等要執(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)。(3)單擊“項(xiàng)目管理器”的【修改】按鈕。(4)分控件進(jìn)行代碼設(shè)計(jì)。對(duì)

29、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ě)入如下代碼:THISFORMSET.ActiveForm.ActiveControl.FontName=T

30、HIS.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,12,14,16,18,20,22,24,26,28, 36,48,72。設(shè)置初始值,將Value屬性設(shè)為=9。

31、對(duì)Command1命令按鈕的代碼進(jìn)行定義:在上一步的方法程序編輯框中,從“對(duì)象”后的組合框中選擇Command1對(duì)象,然后在Click Event方法程序編輯框中輸入如下的代碼:THISFORMSET.ActiveForm.ActiveControl.FontBold=;!THISFORMSET.ActiveForm.ActiveControl.FontBoldTHIS.FontBold=THISFORMSET.ActiveForm.ActiveControl.FontBold對(duì)Command2命令按鈕的代碼進(jìn)行定義: 在上一步的方法程序編輯框中,從“對(duì)象”后的組合框中選擇Command2對(duì)象,然后在Click Event方法程序編輯框中輸入如下的代碼: THISFORMSET.ActiveForm.ActiveControl.Font

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論