




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第第第第第第9 9 9章章章章章章 VFP6VFP6VFP6菜單設(shè)計菜單設(shè)計菜單設(shè)計菜單設(shè)計菜單設(shè)計菜單設(shè)計 學(xué)習(xí)要點(diǎn)學(xué)習(xí)要點(diǎn)1、規(guī)劃應(yīng)用程序菜單系統(tǒng)。2、使用菜單設(shè)計器設(shè)計應(yīng)用系統(tǒng)菜單,為菜單指定任務(wù)。3、自定義工具欄及在表單集中添加自定義工具欄。9.1 在應(yīng)用程序中使用菜單在應(yīng)用程序中使用菜單 9.2 創(chuàng)建自定義工具欄創(chuàng)建自定義工具欄 退退 出出小小 結(jié)結(jié)返返 回回9.1 9.1 9.1 在應(yīng)用程序中使用菜單在應(yīng)用程序中使用菜單在應(yīng)用程序中使用菜單在應(yīng)用程序中使用菜單在應(yīng)用程序中使用菜單在應(yīng)用程序中使用菜單 9.1.1 創(chuàng)建菜單系統(tǒng)創(chuàng)建菜單系統(tǒng) 9.1.2 規(guī)劃菜單系統(tǒng)規(guī)劃菜單系統(tǒng) 9.1
2、.3 創(chuàng)建菜單創(chuàng)建菜單 9.1.4 在應(yīng)用程序中包含菜單在應(yīng)用程序中包含菜單 9.1.5 為菜單系統(tǒng)指定任務(wù)為菜單系統(tǒng)指定任務(wù) 返返 回回 退退 出出9.1.1 9.1.1 9.1.1 創(chuàng)建菜單系統(tǒng)創(chuàng)建菜單系統(tǒng)創(chuàng)建菜單系統(tǒng)創(chuàng)建菜單系統(tǒng)創(chuàng)建菜單系統(tǒng)創(chuàng)建菜單系統(tǒng) 用戶在查找信息之前,首先看到的便是菜單。如果把菜單設(shè)計得很好,那么只要根據(jù)菜單的組織形式和內(nèi)容,用戶就可以很好地理解應(yīng)用程序。為此,VFP提供了“菜單設(shè)計器”,可以用來創(chuàng)建菜單,提高應(yīng)用程序的質(zhì)量。 創(chuàng)建菜單系統(tǒng)的大量工作是在“菜單設(shè)計器”中完成。 在項目管理器中選擇“其他”選項卡,從中選擇“菜單”,然后單擊“新建”打開“新建菜單”對話框
3、。 選擇“菜單”,打開“菜單設(shè)計器”。創(chuàng)建一個菜單系統(tǒng)包括若干步驟。不管應(yīng)用程序的規(guī)模多大,打算使用的菜單多么復(fù)雜,創(chuàng)建菜單系統(tǒng)都需以下步驟: 第1步、規(guī)劃與設(shè)計系統(tǒng):確定需要哪些菜單、出現(xiàn)在界面的何處以及哪幾個菜單要有子菜單等等。有關(guān)規(guī)劃菜單系統(tǒng)的詳細(xì)內(nèi)容,請參閱本章稍后的規(guī)劃菜單系統(tǒng)。第2步、創(chuàng)建菜單和子菜單:使用菜單設(shè)計器可以定義菜單標(biāo)題、菜單項和子菜單。第3步、按實(shí)際要求為菜單系統(tǒng)指定任務(wù):指定菜單所要執(zhí)行的任務(wù),例如顯示表單或?qū)υ捒虻?。另外,如果需要,還可以包含初始化代碼和清理代碼。初始化代碼在定義菜單系統(tǒng)之前執(zhí)行,其中可以打開文件;聲明變量;或?qū)⒉藛蜗到y(tǒng)保存到堆棧中,以便可以在后面
4、的程序執(zhí)行中恢復(fù)。清理代碼中包含的代碼在菜單的定義代碼之后執(zhí)行,使菜單和菜單項可用或不可用。第4步、生成菜單程序。第5步、運(yùn)行生成的程序,測試菜單系統(tǒng)。 返 回9.1.2 9.1.2 9.1.2 規(guī)劃菜單系統(tǒng)規(guī)劃菜單系統(tǒng)規(guī)劃菜單系統(tǒng)規(guī)劃菜單系統(tǒng)規(guī)劃菜單系統(tǒng)規(guī)劃菜單系統(tǒng) 應(yīng)用程序的實(shí)用性一定程度上取決于菜單系統(tǒng)的質(zhì)量?;ㄙM(fèi)一定時間規(guī)劃菜單,有助于用戶接受這些菜單,同時也有助于用戶對這些菜單的學(xué)習(xí)。設(shè)計菜單系統(tǒng)時,要考慮下列準(zhǔn)則:以建立Gxglxt菜單為例說明規(guī)劃菜單系統(tǒng)的準(zhǔn)則:1、按照用戶所要執(zhí)行的任務(wù)組織系統(tǒng),而不要按應(yīng)用程序的層次組織系統(tǒng)。只要查看菜單和菜單項,用戶就應(yīng)該可以對應(yīng)用程序的組織
5、方法有一個感性認(rèn)識。因此,要設(shè)計好這些菜單和菜單項,必須清楚用戶思考問題的方法和完成任務(wù)的方法。根據(jù)簡單的Gxglxt項目的基本任務(wù),可以將所建立的菜單系統(tǒng)分為和系統(tǒng)有關(guān)的操作(如操作員注冊、添加、刪除操作員、退出系統(tǒng)等);與數(shù)據(jù)輸入有關(guān)的操作(如添加新系、添加新班級、添加新專業(yè)、添加新課程等、學(xué)生注冊、成績錄入);與數(shù)據(jù)輸出有關(guān)的操作(如學(xué)生情況報表、學(xué)生成績報表);與信息查詢有關(guān)的操作(如系查詢、班級查詢、專業(yè)查詢、課程查詢、學(xué)生查詢等);最后是幫助。 2、給每個菜單一個有意義的菜單標(biāo)題。第一個菜單箋命令名為【系統(tǒng)管理】,其中包括菜單項【操作員注冊】、【添加操作員】、【刪除操作員】、【退出
6、】;第二個菜單箋命令名為【輸入數(shù)據(jù)】,其中包括菜單項【添加新系】、【添加新班級】、【添加新專業(yè)】、【添加新課程】、【學(xué)生注冊】、【成績錄入】;第三個菜單箋命名為【報表】,其中包括【學(xué)生情況報表】、【打印學(xué)生成績】;第四個菜單箋命名為【查詢】,其中包括【系查詢】、【班級查詢】、【專業(yè)查詢】、【課程查詢】、【學(xué)生查詢】;第五個菜單箋命名為【幫助】,其中只包含【關(guān)于】菜單項。3、按照估計的菜單項使用頻率、邏輯順序或字母順序組織菜單項。如果不能預(yù)計頻率,也無法確定邏輯順序,則可以按字母順序組織菜單項。當(dāng)菜單中包含有八個以上的菜單項時,按字母順序特別有效。太多的菜單項需要用戶花費(fèi)一定的時間才能瀏覽一遍,
7、而按字母順序則便于查看菜單項。通常是將【系統(tǒng)管理】放在第一位,然后才是對數(shù)據(jù)的有關(guān)操作的菜單??砂础鞠到y(tǒng)管理】、【數(shù)據(jù)輸入】、【查詢】、【報表】、【幫助】的次序設(shè)置菜單。 4、 放置分隔線:第一個菜單箋中在【退出】菜單項上設(shè)置一條,第二個菜單箋將【學(xué)生注冊】、【成績錄入】菜單項與其它菜單項分開,第三個菜單箋不設(shè)分隔線,第四個菜單箋分成三個部分:【系查詢】、【班級查詢】為第一部分;專業(yè)查詢】、【課程查詢】為第二部分;【學(xué)生查詢】為第三部分,第五個菜單箋不設(shè)分隔線。 5、將菜單上菜單項的數(shù)目限制在一個屏幕之內(nèi)。6、如果菜單項的數(shù)目超過了一屏,則應(yīng)為其中的一些菜單項創(chuàng)建子菜單。 7、為菜單項指定任務(wù)
8、: 8、為菜單和菜單項設(shè)置訪問鍵或鍵盤快捷鍵。 說明:【退出】習(xí)慣用Alt+E,【幫助】習(xí)慣用Alt+H、【關(guān)于】習(xí)慣用Alt+A作為訪問鍵,其它可任意設(shè)定,但最好是使用Ctrl+或Alt+和能代表菜單項功能的某一個特殊的字母組合為快捷鍵,快捷鍵的定義在一個菜單中不要有重復(fù)。 9、使用能夠準(zhǔn)確描述菜單項的文字。描述菜單項時,要使用日常用語而不要使用計算機(jī)術(shù)語。同時,說明選擇一個菜單項產(chǎn)生的效果時,應(yīng)使用簡單、生動的動詞,而不要將名詞當(dāng)作動詞使用,另外,要用相似語句結(jié)構(gòu)說明菜單項。10、在菜單項中混合使用大小寫字母。 返 回9.1.3 9.1.3 9.1.3 創(chuàng)建菜單創(chuàng)建菜單創(chuàng)建菜單創(chuàng)建菜單創(chuàng)建
9、菜單創(chuàng)建菜單 規(guī)劃好菜單系統(tǒng)之后,就可以使用菜單設(shè)計器創(chuàng)建該系統(tǒng)了。這時,可以創(chuàng)建菜單、快捷菜單、菜單項、子菜單和菜單項組之間的分隔線等等。1、創(chuàng)建菜單 按前述方法打開“菜單設(shè)計器”?!安藛卧O(shè)計器”中選項說明:“菜單名稱”:在菜單系統(tǒng)中指定菜單標(biāo)題和菜單項的名稱?!敖Y(jié)果”:指定在選擇菜單標(biāo)題或菜單項時發(fā)生的動作。例如,可執(zhí)行一個命令,打開一個子菜單或運(yùn)行一個過程?!皠?chuàng)建”:在“結(jié)果”項中選擇“子菜單”或“過程”時,用于指定菜單標(biāo)題或菜單項的子菜單或過程。“編輯”:在創(chuàng)建了“子菜單”或“過程”后,可以更改與菜單標(biāo)題或菜單項相關(guān)的子菜單或過程?!斑x項”:顯示“提示選項”對話框,可以在其中定義鍵盤快
10、捷鍵和其它菜單選擇?!安藛渭墶保簭棾鱿吕藛危層脩暨x擇要處理的菜單或子菜單?!邦A(yù)覽”:顯示正在創(chuàng)建的菜單的預(yù)覽結(jié)果。“插入”:在“菜單設(shè)計器”窗口中插入新的一行?!安迦霗凇保猴@示“插入系統(tǒng)菜單條”對話框,使用戶可以插入標(biāo)準(zhǔn)的VFP菜單項?!皠h除”:從“菜單設(shè)計器”中刪除當(dāng)前菜單行。利用菜單設(shè)計器窗口各個選項就可以設(shè)計完整的菜單。1、創(chuàng)建Gxglxt菜單1、創(chuàng)建【系統(tǒng)】管理菜單箋系統(tǒng)管理(S)創(chuàng)建【數(shù)據(jù)輸入】菜單箋數(shù)據(jù)輸入(I)創(chuàng)建【報表】菜單箋報表(R)創(chuàng)建【查詢】菜單箋查詢(Q)創(chuàng)建【幫助】菜單箋幫助(H)2、創(chuàng)建【系統(tǒng)管理】的子菜單:選擇【系統(tǒng)管理】單擊【創(chuàng)建】創(chuàng)建【操作員注冊】菜單項操
11、作員注冊單擊【選項】按鈕設(shè)置快捷鍵在光標(biāo)置于此欄后按下要定義的快捷鍵Ctrl+O單擊【確定】“提示選項”對話框按相同的方法創(chuàng)建【添加操作員】、【刪除操作員】、【退出】三個菜單項。在指定的菜單項(【刪除操作員】與【退出】菜單項之間)中添加分隔線:選中下面的菜單項【退出】后單擊【插入】按鈕。刪除“新菜單項”幾個字后輸入“-”【系統(tǒng)管理】菜單箋定義后,單擊“菜單級”下拉選擇框,從中選擇“菜單欄”。按創(chuàng)建子菜單的方法創(chuàng)建其他菜單箋下的菜單項(子菜單),過程略。3、為菜單項指定任務(wù)子菜單創(chuàng)建后,此處的“創(chuàng)建”將變?yōu)椤熬庉嫛?。單擊【編輯】單擊“結(jié)果”下拉選擇框,從中選擇“命令”。在此框中輸入該菜單項應(yīng)執(zhí)行
12、的命令:Do Form Formsoperator 說明:表單按上機(jī)指導(dǎo)中的定義,使用同樣的方法為另三個菜單項指定任務(wù)?!鞠到y(tǒng)管理】菜單箋中各菜單項的任務(wù)指定完成后,單擊“菜單級”下拉選擇框,從中選擇“菜單欄”。 按相同的方法分別為【數(shù)據(jù)輸入】、【報表】、【查詢】、【幫助】的子菜單中各菜單項指定任務(wù)。 菜單設(shè)計完成后,選擇系統(tǒng)菜單上的【菜單】|【生成】,生成.MPR文件。生成gxglxt.mpr文件后,便可以在項目管理器中運(yùn)行該文件:在項目管理器中選擇“其他”選項卡,然后從“菜單”中選擇“gxglxt”,再單擊【運(yùn)行】。運(yùn)行的結(jié)果格式如下:各子菜單格式如下: 最后的一項【項目】并不是我們所定義
13、的共單箋。因?yàn)槲覀兪窃凇绊椖抗芾砥鳌敝羞\(yùn)行的gxglxt.mpr文件,項目管理器沒有關(guān)閉才有【項目】這一項。如果在菜單運(yùn)行后將“項目管理器”關(guān)閉,則這一項將會變?yōu)椤靖袷健?。在?yīng)用程序中將菜單連編后脫離VFP運(yùn)行時,就不會有這一項。2、通過修改快速菜單得到自戶自定義菜單 若要從已有的VFP菜單系統(tǒng)開始創(chuàng)建菜單,則可以使用“快速菜單”功能。若要用“快速菜單”創(chuàng)建菜單系統(tǒng),可以按下列步驟進(jìn)行: 打開“菜單設(shè)計器”,然后從系統(tǒng)菜單上的【菜單】中選擇【快速菜單】。 在“快速菜單”中通過【插入】、【刪除】或修改得到所要求的菜單格式。 例如,如果要在“幫助”菜單前插入“客戶”菜單,可以選擇與“幫助”菜單行,
14、再選擇“插入”按鈕,然后在“菜單名稱”欄中鍵入“客戶”,其結(jié)果如圖 。移動按鈕 注意:拖動移動按鈕可以改變菜單欄上各菜單的位置。 如果需要“幫助”菜單,應(yīng)將它安排在菜單欄上的最后,這樣用戶能夠很快找到它。 在應(yīng)用程序中使用菜單之前,必須將它生成。3、創(chuàng)建快捷菜單 在VFP6或者在Windows中,選定某個控件或?qū)ο蠛髥螕粲益I時,就會顯示快捷菜單,可以快速展示對當(dāng)前對象進(jìn)行操作的各種可用的功能。正是因?yàn)檫@種菜單的方便快捷,它才被稱為快捷菜單。可用VFP創(chuàng)建快捷菜單,并將這些菜單附加在控件中。若要創(chuàng)建快捷菜單??蓮摹绊椖抗芾砥鳌敝羞x擇【其他】選項卡,選擇“菜單”,并選定【新建】。接下來選擇【快捷菜
15、單】,則出現(xiàn)“快捷菜單設(shè)計器”。 進(jìn)入“快捷菜單設(shè)計器”后,添加菜單項的過程與創(chuàng)建菜單完全相同。 例如,創(chuàng)建一個包含有二個選項【運(yùn)行表單】和【關(guān)閉】的快捷菜單。瀏覽命令的代碼是DO FORM ?,在關(guān)閉菜單定義時,“結(jié)果”欄中選擇“菜單項#”,在“結(jié)果”欄后的欄中輸入“_mfi_close”,表示調(diào)用系統(tǒng)菜單中的“關(guān)閉”功能。創(chuàng)建完成后,將生成一個菜單名為Myquickmenu.mpr,其中Myquickmenu是自己命名的菜單文件名。所創(chuàng)建的菜單結(jié)果如圖 然后在系統(tǒng)菜單中選擇【菜單】|【生成】,生成QuickMenu.mpr。 最后在“屬性示例”表單的RightClick Event方法程序
16、中添加下行代碼:Do MenusQuickMenu.mpr返 回9.1.4 9.1.4 9.1.4 在應(yīng)用程序中包含菜單在應(yīng)用程序中包含菜單在應(yīng)用程序中包含菜單在應(yīng)用程序中包含菜單在應(yīng)用程序中包含菜單在應(yīng)用程序中包含菜單 創(chuàng)建了菜單系統(tǒng)后,可將其包含在應(yīng)用程序中。若要在應(yīng)用程序中包含菜單,可將.mnx文件添加到項目中,并由項目建立應(yīng)用程序。創(chuàng)建并生成了快捷菜單以后,就可將其附加到控件中。當(dāng)用戶在控件上單擊鼠標(biāo)右鍵時,顯示典型的快捷菜單。在控件的Rig-htClick(單擊鼠標(biāo)右鍵)事件中輸入少量代碼,即可將快捷菜單附加到特定的控件中。先選擇要附加快捷菜單的控件,然后在“屬性”窗口中選擇“方法程
17、序”選項卡并選擇“RightClick Event”最后在代碼窗口中鍵入Do menu.mpr,其中menu是快捷菜單的文件名。注意:引用快捷菜單時,必須使用.mpr擴(kuò)展名。如在上一節(jié)中,在“屬性示例”表單的RightClick Event事件代碼中添加代碼DO MenusQuickmenu.mpr。 如果想將此快捷菜單應(yīng)用于所有新創(chuàng)建的表單,則可以修改表單的類定義。步驟如下:(1)打開“項目管理器”并選擇“類”選項卡。 (2)選擇【添加】,將C:Program FilesMicrosoft Visual StudioVfp98 Wizar-dsWizembss.vcx添加到“類”中。 單擊【
18、確定】 (3)單擊Wizembss類前的“+”號,再選擇Embossedform子類 (4)選擇“項目管理器”上的【修改】按鈕,打開“類設(shè)計器” (5)選擇“屬性”對話框中的“方法程序”選項卡,再選定RightClick Event事件。 (6)雙擊RightClick Event,打開方法程序代碼編輯窗口,在該窗口中輸入命令 :DO MENUSQUICKMENU.MPR (7)關(guān)閉“方法程序”編輯窗口,關(guān)閉“類設(shè)計器”窗口,將所做的修改保存到Embossedform子類中。 說明:Embossedform子類是建立表單的類(Class),以后所建的表 單 均 含 有 單 擊 右 鍵 時 調(diào)
19、用Myquickmeun菜單的功能。若要將SDI菜單附加到表單中可在創(chuàng)建了SDI菜單后,將其附加到SDI表單中,其步驟如下:(1)在“表單設(shè)計器”中,將表單的Show Window屬性設(shè)置為“2-作為頂層表單”。(2)在表單的Init事件中調(diào)用該菜單。例如,假設(shè)菜單名為Quickmenu.mpr,添加此代碼:DO Quickmenu.mpr WITH THIS,.T.返 回9.1.5 9.1.5 9.1.5 為菜單系統(tǒng)指定任務(wù)為菜單系統(tǒng)指定任務(wù)為菜單系統(tǒng)指定任務(wù)為菜單系統(tǒng)指定任務(wù)為菜單系統(tǒng)指定任務(wù)為菜單系統(tǒng)指定任務(wù) 在創(chuàng)建菜單系統(tǒng)時,需要考慮系統(tǒng)訪問的簡便性,也必須為系統(tǒng)指定任務(wù)。必須為菜單和
20、菜單項指定所執(zhí)行的任務(wù),如顯示表單、工具欄以及其他的菜單系統(tǒng)。用戶應(yīng)該定義可以訪問菜單系統(tǒng)的訪問鍵,還可以添加鍵盤快捷鍵,并且控制菜單何時可用。1、指定訪問鍵、指定訪問鍵設(shè)計良好的菜單都具有訪問鍵,從而通過鍵盤可以快速地訪問菜單的功能。在菜單標(biāo)題或菜單項中,訪問鍵用帶有下劃線的字母表示。例如,VFP的【文件】菜單使用“F”作為訪問鍵。如果沒有為某個菜單標(biāo)題或菜單項指定訪問鍵,VFP將自動指定第一個字母作為訪問鍵。例如,假定沒有給創(chuàng)建的“EDIT”菜單定義訪問鍵,VFP將指定第一個字母(E)作為它的訪問鍵。若要為菜單或菜單項指定訪問鍵,可在希望成為訪問鍵的字母左側(cè)鍵入“”。例如,要在“EDIT”
21、菜單標(biāo)題中設(shè)置“I”作為訪問鍵,可在“菜單名稱”欄中將“EDIT”替換為“EDIT”或“EDITA 單擊【確定】按鈕返回到“菜單設(shè)計器”返回到“菜單設(shè)計器”后,可用同樣的方法設(shè)置其他菜單項啟用或廢止。4、輸入過程或程序 如:在Gxglxt菜單的【查詢】菜單箋中所有的菜單項均調(diào)用同一個表單查詢界面(表單中的數(shù)據(jù)源來自系統(tǒng)當(dāng)前工作區(qū)中的表),不同處是對不同的查詢菜單項使用不同的表。由于使用同一表單界面,為菜單項指定任務(wù)時可以通過調(diào)用過程完成。 打開“菜單設(shè)計器”,進(jìn)入到【查詢】菜單箋中,如圖: 將【查詢】菜單箋中的所有菜單項的“結(jié)果”設(shè)置為“過程”。方法同前。然后選擇【系查詢】,單擊【創(chuàng)建】按鈕。
22、在“系查詢”-過程編輯窗口中輸入過程代碼:PUBLIC NWORKAREA,LUSEEDNWORKAREA=SELECT(0)LUSEED=.T.IF !USED(DEPARTMENT)LUSED=.F.SELECT 0USE DATADEPARTMENTENDIFSELECT DEPARTMENTDO FORM FORMSDATAQUERY然后關(guān)閉“過程”編輯窗口。返回“菜單設(shè)計器”后,使用同樣的方法為其他菜單項編輯過程。共用的查詢表單名可以為菜單或菜單項指定一個過程,指定過程的方式取決于菜單或菜單項是否有子菜單。若要為不含有子菜單的菜單或菜單項指定過程,可以在“菜單名稱”欄中,選擇相應(yīng)的菜
23、單標(biāo)題或菜單項,再在“結(jié)果”框中選擇“過程”,“創(chuàng)建”按鈕出現(xiàn)在列表的右側(cè)。如果先前已定義了一個過程,則這里出現(xiàn)的是“編輯”按鈕,再選擇“創(chuàng)建”或“編輯”,在窗口中鍵入正確的代碼。由于VFP會自動地生成PROCEDURE語句,因而不必在過程編輯窗口中鍵入此語句,只有在清理代碼中才需要PROCEDURE語句。為含有子菜單的菜單或菜單項指定過程的步驟如下:(1)請在“菜單級”框中,選擇包含相應(yīng)菜單或菜單項的菜單級。(2)從系統(tǒng)菜單中選擇【顯示】|【菜單選項】。(3)可以用下列方法之一指定一個過程:在“過程”框中編寫或調(diào)用過程,或者選擇“編輯”,然后再選擇“確定”,打開獨(dú)立的編輯窗口并編寫或調(diào)用過程
24、。 5、向菜單系統(tǒng)添加初始化代碼和清理代碼向菜單系統(tǒng)添加初始化代碼可以定制菜單系統(tǒng),初始化代碼可以包含創(chuàng)建環(huán)境的代碼、定義變量的代碼、打開所需文件的代碼,以及使用PUSH MENU和POP MENU保存或恢復(fù)菜單系統(tǒng)的代碼。向菜單系統(tǒng)中添加初始化代碼,可以從系統(tǒng)菜單中選擇【顯示】|【常規(guī)選項】,在“菜單代碼”區(qū)域,選擇“設(shè)置”,然后再選擇【確定】,再在初始化代碼窗口中,鍵入適當(dāng)?shù)某跏蓟a。向菜單系統(tǒng)添加清理代碼可以減小菜單系統(tǒng)的大小。清理代碼常包含一些代碼,在初始時啟用或廢止菜單系統(tǒng)中的菜單或菜單項。在生成并運(yùn)行菜單程序時,初始化代碼及菜單定義代碼在清理代碼之前執(zhí)行。向菜單系統(tǒng)中添加清理代碼
25、,可以從系統(tǒng)菜單中選擇【顯示】|【常規(guī)選項】,在“菜單代碼”區(qū)域,選擇“清理”,然后再選擇【確定】,再在清理代碼窗口中,鍵入適當(dāng)?shù)那謇泶a。關(guān)閉“菜單設(shè)計器”時,同時保存所做的變更。注意:如果設(shè)計的菜單是應(yīng)用程序的主菜單,則應(yīng)該在清理代碼中包含READ EVENTS命令,并為退出菜單系統(tǒng)的菜單命令指定一個CLEAR命令。這可以防止應(yīng)用程序的運(yùn)行過早地中斷。 返 回9.2 9.2 9.2 創(chuàng)建自定義工具欄創(chuàng)建自定義工具欄創(chuàng)建自定義工具欄創(chuàng)建自定義工具欄創(chuàng)建自定義工具欄創(chuàng)建自定義工具欄 9.2.1 定義工具欄類定義工具欄類 9.2.2 在表單集中添加自定義工具欄在表單集中添加自定義工具欄 退退 出
26、出返返 回回 如果應(yīng)用程序中包含一些用戶經(jīng)常重復(fù)執(zhí)行的任務(wù),那么可以添加相應(yīng)的自定義工具欄,簡化操作,加速任務(wù)的執(zhí)行。 下面各節(jié)介紹的是為應(yīng)用程序創(chuàng)建自定義工具欄的方法。 9.2.1 9.2.1 9.2.1 定義工具欄類定義工具欄類定義工具欄類定義工具欄類定義工具欄類定義工具欄類 如果要創(chuàng)建一個工具欄,要它包含己有工具欄所沒有的按鈕,則可通過定義一個自定義工具欄類完成此任務(wù)。VFP提供了一個工具欄基類,在此基礎(chǔ)上可以創(chuàng)建所需的類。創(chuàng)建新類的方法在5.4.5類的操作方法中已作詳細(xì)的講解。定義了工具欄類以后,可向工具欄類添加對象,并為自定義工具欄定義屬性、事件和方法程序,最后可將工具欄添加到表單集
27、中。 返 回9.2.2 9.2.2 9.2.2 在表單集中添加自定義工具欄在表單集中添加自定義工具欄在表單集中添加自定義工具欄在表單集中添加自定義工具欄在表單集中添加自定義工具欄在表單集中添加自定義工具欄 在定義一個工具欄類之后,便可以用這個類創(chuàng)建一個工具欄??梢杂谩氨韱卧O(shè)計器”或者用編寫代碼的方法,將工具欄與表單對應(yīng)起來。1、在“表單設(shè)計器”中協(xié)調(diào)工具欄和表單可以在表單集中添加工具欄,讓工具欄與表單集中的各個表單一起打開。但不能直接在某個表單中添加工具欄。使用“表單設(shè)計器”在表單集中添加工具欄的步驟如下:(1)先注冊并選定包含工具欄類的類庫。(2)打開要使用上述工具欄類的表單集,再從“表單控
28、件”工具欄選擇“查看類”,然后從顯示的列表中選擇該工具欄類。(3)從“表單控件”工具欄中選擇工具欄類。(4)在“表單設(shè)計器”中單擊,添加此工具欄,然后將工具欄拖動到適當(dāng)?shù)奈恢茫琕FP將在表單集上添加工具欄,如果表單集尚未打開,VFP將提示用戶打開一個。 (5)為工具欄及其按鈕定義操作。2、使用代碼協(xié)調(diào)工具欄和表單 除了使用“表單設(shè)計器”外,還可以使用代碼在表單集中添加工具欄。如果要使用代碼在表單集中添加工具欄,可以在表單集的Init事件中,使用SET CLASSLB命令,指定包含工具欄類的類庫,然后在表單集中由此類創(chuàng)建工具欄。例如,要添加并顯示基于_base類庫中_toolbar類的工具欄my
29、toolbar,可以在表單集的Init事件中添加下列代碼: SET CLASSLIB TO LIBS_BASE THIS.ADDOBJECT(MYTOOLBAR,_TOOLBAR) THIS.MYTOOLBAR.SHOW 如果使用已經(jīng)定義了的一個工具欄,如在第五章中定義的NEWTOOLBAR工具欄,則可以在表單集的Init事件添加如下代碼: SET CLASSLIB TO LIBSNEWTOOLBAR ADDITIVE THIS.ADDOBJECT(MYTOOLBAR,NEWTOOLBAR) THIS.MYTOOLBAR.SHOW 注意:如果工具欄類沒有定義工具欄及其按鈕要執(zhí)行的操作,那么必須
30、在與工具欄及其按鈕相關(guān)的事件過程中定義操作。 3、創(chuàng)建自定義工具欄示例可以在代碼中定義工具欄的各個要素。例如,在第五章中定義的NEWTOOLBAR工具欄沒有指定工具欄及其按鈕等要執(zhí)行的操作,現(xiàn)以該工具欄添加到表單集為例,說明其方法。先在表單集的Init事件中添加下列代碼,當(dāng)加載表單集時,VFP將創(chuàng)建并顯示代碼中定義的工具欄,該工具欄如圖: SET CLASSLIB TO LIBSNEWTOOLBAR ADDITIVE THIS.ADDOBJECT(MYTOOLBAR,NEWTOOLBAR) THIS.MYTOOLBAR.SHOW 對NEWTOOLBAR工具欄中各控件的執(zhí)行代碼定義的步驟及代碼如
31、下:(1)選擇“項目管理器”中的“類”選項卡。(2)找到并選擇以前定義的NEWTOOLBAR類。(3)單擊“項目管理器”的【修改】按鈕。(4)分控件進(jìn)行代碼設(shè)計。對Combo1組合框的代碼進(jìn)行定義:選擇Combo1控件,在“屬性”中選擇“其它”選項卡,將Enabled屬性設(shè)為“假” 。(在表單集中不設(shè)文章排版)。對Combo2組合框的代碼進(jìn)行定義:選擇Combo2控件,在“屬性”中選擇“數(shù)據(jù)”選項卡,將RowSourceType屬性設(shè)為“1-值”,將RowSource屬性設(shè)為 宋體,黑體,仿宋,楷體(還可以添加其它VFP能識別的字體名)。設(shè)置初始值,將Value屬性設(shè)為=宋體。選擇“方法程序”
32、選項卡,雙擊Click Event,在彈出的代碼編輯框中寫入如下代碼:THISFORMSET.ActiveForm.ActiveControl.FontName=THIS.VALUE對Combo3組合框的代碼進(jìn)行定義:在上一步的方法程序編輯框中,從“對象”后的組合框中選擇Combo3,然后在Click Event方法程序編輯框中輸入如下的代碼:THISFORMSET.ActiveForm.ActiveControl.FontSize=;VAL(ALLTRIM(THIS.VALUE)在“屬性”中的對象選擇框中選擇Combo3對象,再選擇“數(shù)據(jù)”選項卡,將RowSourceType屬性設(shè)為“1-值
33、”,將RowSource屬性設(shè)為8,9,10,11,12,14,16,18,20,22,24,26,28, 36,48,72。設(shè)置初始值,將Value屬性設(shè)為=9。對Command1命令按鈕的代碼進(jìn)行定義:在上一步的方法程序編輯框中,從“對象”后的組合框中選擇Command1對象,然后在Click Event方法程序編輯框中輸入如下的代碼:THISFORMSET.ActiveForm.ActiveControl.FontBold=;!THISFORMSET.ActiveForm.ActiveControl.FontBoldTHIS.FontBold=THISFORMSET.ActiveForm.ActiveControl.FontBold對Command2命令按鈕的代碼進(jìn)行定義: 在上一步的方法程序編輯框中,從“對象”后的組合框中選擇Command2對象,然后在Click Event方法程序
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 合同范本打字
- 吊車租賃續(xù)簽合同范本
- 內(nèi)衣合伙人協(xié)議合同范本
- 醫(yī)療器械委托申報合同范本
- 單位勞動終止合同范本
- 住宅裝修交付合同范本
- 制作安裝窗戶合同范例
- 驛站轉(zhuǎn)租定金合同范本
- 合資商鋪合同范本
- 北京裝修合同范本查詢
- 傷口的延續(xù)性護(hù)理
- 藥品批發(fā)公司培訓(xùn)課件模板
- 《教科版一國兩制》課件
- 急性腎挫裂傷護(hù)理查房課件
- 腦出血個案護(hù)理計劃
- 小學(xué)生電力科普小講座(課件)-小學(xué)常識科普主題班會
- 第八次課-冶金考古
- 臨床醫(yī)生如何進(jìn)行臨床科研-2
- 硝酸鎂法制取濃硝酸
- PFMEA-失效模式分析案例
- 國家藥監(jiān)局醫(yī)療器械技術(shù)審評檢查大灣區(qū)分中心第二批員額制人員公開招聘(2023年)模擬預(yù)測(共1000題)筆試備考題庫及答案解析
評論
0/150
提交評論