版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第9章 VFP6菜單設(shè)計,學(xué)習(xí)要點(diǎn),1、規(guī)劃應(yīng)用程序菜單系統(tǒng)。 2、使用菜單設(shè)計器設(shè)計應(yīng)用系統(tǒng)菜單,為菜單指定任務(wù)。 3、自定義工具欄及在表單集中添加自定義工具欄。,9.1 在應(yīng)用程序中使用菜單,9.2 創(chuàng)建自定義工具欄,退 出,小 結(jié),返 回,9.1 在應(yīng)用程序中使用菜單,9.1.1 創(chuàng)建菜單系統(tǒng),9.1.2 規(guī)劃菜單系統(tǒng),9.1.3 創(chuàng)建菜單,9.1.4 在應(yīng)用程序中包含菜單,9.1.5 為菜單系統(tǒng)指定任務(wù),返 回,退 出,9.1.1 創(chuàng)建菜單系統(tǒng),用戶在查找信息之前,首先看到的便是菜單。如果把菜單設(shè)計得很好,那么只要根據(jù)菜單的組織形式和內(nèi)容,用戶就可以很好地理解應(yīng)用程序。為此,VFP提供
2、了“菜單設(shè)計器”,可以用來創(chuàng)建菜單,提高應(yīng)用程序的質(zhì)量。,創(chuàng)建菜單系統(tǒng)的大量工作是在“菜單設(shè)計器”中完成。 在項目管理器中選擇“其他”選項卡,從中選擇“菜單”,然后單擊“新建”打開“新建菜單”對話框。,選擇“菜單”,打開“菜單設(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)指定
3、任務(wù):指定菜單所要執(zhí)行的任務(wù),例如顯示表單或?qū)υ捒虻取A硗?,如果需要,還可以包含初始化代碼和清理代碼。初始化代碼在定義菜單系統(tǒng)之前執(zhí)行,其中可以打開文件;聲明變量;或?qū)⒉藛蜗到y(tǒng)保存到堆棧中,以便可以在后面的程序執(zhí)行中恢復(fù)。清理代碼中包含的代碼在菜單的定義代碼之后執(zhí)行,使菜單和菜單項可用或不可用。 第4步、生成菜單程序。 第5步、運(yùn)行生成的程序,測試菜單系統(tǒng)。,返 回,9.1.2 規(guī)劃菜單系統(tǒng),應(yīng)用程序的實(shí)用性一定程度上取決于菜單系統(tǒng)的質(zhì)量?;ㄙM(fèi)一定時間規(guī)劃菜單,有助于用戶接受這些菜單,同時也有助于用戶對這些菜單的學(xué)習(xí)。設(shè)計菜單系統(tǒng)時,要考慮下列準(zhǔn)則: 以建立Gxglxt菜單為例說明規(guī)劃菜單系統(tǒng)
4、的準(zhǔn)則: 1、按照用戶所要執(zhí)行的任務(wù)組織系統(tǒng),而不要按應(yīng)用程序的層次組織系統(tǒng)。只要查看菜單和菜單項,用戶就應(yīng)該可以對應(yīng)用程序的組織方法有一個感性認(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、給
5、每個菜單一個有意義的菜單標(biāo)題。 第一個菜單箋命令名為【系統(tǒng)管理】,其中包括菜單項【操作員注冊】、【添加操作員】、【刪除操作員】、【退出】;第二個菜單箋命令名為【輸入數(shù)據(jù)】,其中包括菜單項【添加新系】、【添加新班級】、【添加新專業(yè)】、【添加新課程】、【學(xué)生注冊】、【成績錄入】;第三個菜單箋命名為【報表】,其中包括【學(xué)生情況報表】、【打印學(xué)生成績】;第四個菜單箋命名為【查詢】,其中包括【系查詢】、【班級查詢】、【專業(yè)查詢】、【課程查詢】、【學(xué)生查詢】;第五個菜單箋命名為【幫助】,其中只包含【關(guān)于】菜單項。 3、按照估計的菜單項使用頻率、邏輯順序或字母順序組織菜單項。如果不能預(yù)計頻率,也無法確定邏輯
6、順序,則可以按字母順序組織菜單項。當(dāng)菜單中包含有八個以上的菜單項時,按字母順序特別有效。太多的菜單項需要用戶花費(fèi)一定的時間才能瀏覽一遍,而按字母順序則便于查看菜單項。 通常是將【系統(tǒng)管理】放在第一位,然后才是對數(shù)據(jù)的有關(guān)操,作的菜單??砂础鞠到y(tǒng)管理】、【數(shù)據(jù)輸入】、【查詢】、【報表】、【幫助】的次序設(shè)置菜單。 4、 放置分隔線:第一個菜單箋中在【退出】菜單項上設(shè)置一條,第二個菜單箋將【學(xué)生注冊】、【成績錄入】菜單項與其它菜單項分開,第三個菜單箋不設(shè)分隔線,第四個菜單箋分成三個部分:【系查詢】、【班級查詢】為第一部分;專業(yè)查詢】、【課程查詢】為第二部分;【學(xué)生查詢】為第三部分,第五個菜單箋不設(shè)分
7、隔線。 5、將菜單上菜單項的數(shù)目限制在一個屏幕之內(nèi)。 6、如果菜單項的數(shù)目超過了一屏,則應(yīng)為其中的一些菜單項創(chuàng)建子菜單。 7、為菜單項指定任務(wù):,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)作動詞使用,另外,要
8、用相似語句結(jié)構(gòu)說明菜單項。 10、在菜單項中混合使用大小寫字母。,返 回,9.1.3 創(chuàng)建菜單,規(guī)劃好菜單系統(tǒng)之后,就可以使用菜單設(shè)計器創(chuàng)建該系統(tǒng)了。這時,可以創(chuàng)建菜單、快捷菜單、菜單項、子菜單和菜單項組之間的分隔線等等。 1、創(chuàng)建菜單 按前述方法打開“菜單設(shè)計器”。,“菜單設(shè)計器”中選項說明: “菜單名稱”:在菜單系統(tǒng)中指定菜單標(biāo)題和菜單項的名稱。,“結(jié)果”:指定在選擇菜單標(biāo)題或菜單項時發(fā)生的動作。例如,可執(zhí)行一個命令,打開一個子菜單或運(yùn)行一個過程。 “創(chuàng)建”:在“結(jié)果”項中選擇“子菜單”或“過程”時,用于指定菜單標(biāo)題或菜單項的子菜單或過程。 “編輯”:在創(chuàng)建了“子菜單”或“過程”后,可以更
9、改與菜單標(biāo)題或菜單項相關(guān)的子菜單或過程。 “選項”:顯示“提示選項”對話框,可以在其中定義鍵盤快捷鍵和其它菜單選擇。 “菜單級”:彈出下拉菜單,讓用戶選擇要處理的菜單或子菜單。 “預(yù)覽”:顯示正在創(chuàng)建的菜單的預(yù)覽結(jié)果。 “插入”:在“菜單設(shè)計器”窗口中插入新的一行。 “插入欄”:顯示“插入系統(tǒng)菜單條”對話框,使用戶可以插入標(biāo)準(zhǔn)的VFP菜單項。 “刪除”:從“菜單設(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)建【查詢】菜單
10、箋,查詢(Q),創(chuàng)建【幫助】菜單箋,幫助(H),2、創(chuàng)建【系統(tǒng)管理】的子菜單:選擇【系統(tǒng)管理】,單擊【創(chuàng)建】,創(chuàng)建【操作員注冊】菜單項,操作員注冊,單擊【選項】按鈕設(shè)置快捷鍵,按相同的方法創(chuàng)建【添加操作員】、【刪除操作員】、【退出】三個菜單項。,在指定的菜單項(【刪除操作員】與【退出】菜單項之間)中添加分隔線:選中下面的菜單項【退出】后單擊【插入】按鈕。,刪除“新菜單項”幾個字后輸入“-”,【系統(tǒng)管理】菜單箋定義后,單擊“菜單級”下拉選擇框,從中選擇“菜單欄”。,按創(chuàng)建子菜單的方法創(chuàng)建其他菜單箋下的菜單項(子菜單),過程略。,3、為菜單項指定任務(wù),單擊【編輯】,單擊“結(jié)果”下拉選擇框,從中選擇
11、“命令”。,說明:表單按上機(jī)指導(dǎo)中的定義,使用同樣的方法為另三個菜單項指定任務(wù)。,【系統(tǒng)管理】菜單箋中各菜單項的任務(wù)指定完成后,單擊“菜單級”下拉選擇框,從中選擇“菜單欄”。,按相同的方法分別為【數(shù)據(jù)輸入】、【報表】、【查詢】、【幫助】的子菜單中各菜單項指定任務(wù)。 菜單設(shè)計完成后,選擇系統(tǒng)菜單上的【菜單】|【生成】,生成.MPR文件。,生成gxglxt.mpr文件后,便可以在項目管理器中運(yùn)行該文件:在項目管理器中選擇“其他”選項卡,然后從“菜單”中選擇“gxglxt”,再單擊【運(yùn)行】。運(yùn)行的結(jié)果格式如下:,各子菜單格式如下:,最后的一項【項目】并不是我們所定義的共單箋。因?yàn)槲覀兪窃凇绊椖抗芾砥?/p>
12、”中運(yùn)行的gxglxt.mpr文件,項目管理器沒有關(guān)閉才有【項目】這一項。如果在菜單運(yùn)行后將“項目管理器”關(guān)閉,則這一項將會變?yōu)椤靖袷健俊T趹?yīng)用程序中將菜單連編后脫離VFP運(yùn)行時,就不會有這一項。,2、通過修改快速菜單得到自戶自定義菜單,若要從已有的VFP菜單系統(tǒng)開始創(chuàng)建菜單,則可以使用“快速菜單”功能。若要用“快速菜單”創(chuàng)建菜單系統(tǒng),可以按下列步驟進(jìn)行: 打開“菜單設(shè)計器”,然后從系統(tǒng)菜單上的【菜單】中選擇【快速菜單】。,在“快速菜單”中通過【插入】、【刪除】或修改得到所要求的菜單格式。,例如,如果要在“幫助”菜單前插入“客戶”菜單,可以選擇與“幫助”菜單行,再選擇“插入”按鈕,然后在“菜單
13、名稱”欄中鍵入“客戶”,其結(jié)果如圖 。,注意:拖動移動按鈕可以改變菜單欄上各菜單的位置。 如果需要“幫助”菜單,應(yīng)將它安排在菜單欄上的最后,這樣用戶能夠很快找到它。 在應(yīng)用程序中使用菜單之前,必須將它生成。,3、創(chuàng)建快捷菜單 在VFP6或者在Windows中,選定某個控件或?qū)ο蠛髥螕粲益I時,就會顯示快捷菜單,可以快速展示對當(dāng)前對象進(jìn)行操作的各種可用的功能。正是因?yàn)檫@種菜單的方便快捷,它才被稱為快捷菜單??捎肰FP創(chuàng)建快捷菜單,并將這些菜單附加在控件中。 若要創(chuàng)建快捷菜單??蓮摹绊椖抗芾砥鳌敝羞x擇【其他】選項卡,選擇“菜單”,并選定【新建】。接下來選擇【快捷菜單】,則出現(xiàn)“快捷菜單設(shè)計器”。,進(jìn)
14、入“快捷菜單設(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方法程序中添加下行代碼: Do MenusQ
15、uickMenu.mpr,返 回,9.1.4 在應(yīng)用程序中包含菜單,創(chuàng)建了菜單系統(tǒng)后,可將其包含在應(yīng)用程序中。若要在應(yīng)用程序中包含菜單,可將.mnx文件添加到項目中,并由項目建立應(yīng)用程序。 創(chuàng)建并生成了快捷菜單以后,就可將其附加到控件中。當(dāng)用戶在控件上單擊鼠標(biāo)右鍵時,顯示典型的快捷菜單。在控件的Rig-htClick(單擊鼠標(biāo)右鍵)事件中輸入少量代碼,即可將快捷菜單附加到特定的控件中。 先選擇要附加快捷菜單的控件,然后在“屬性”窗口中選擇“方法程序”選項卡并選擇“RightClick Event”最后在代碼窗口中鍵入Do menu.mpr,其中menu是快捷菜單的文件名。 注意:引用快捷菜單時
16、,必須使用.mpr擴(kuò)展名。 如在上一節(jié)中,在“屬性示例”表單的RightClick Event事件代碼中添加代碼DO MenusQuickmenu.mpr。,如果想將此快捷菜單應(yīng)用于所有新創(chuàng)建的表單,則可以修改表單的類定義。步驟如下: (1)打開“項目管理器”并選擇“類”選項卡。,(2)選擇【添加】,將C:Program FilesMicrosoft Visual StudioVfp98 Wizar-dsWizembss.vcx添加到“類”中。,(3)單擊Wizembss類前的“+”號,再選擇Embossedform子類,(4)選擇“項目管理器”上的【修改】按鈕,打開“類設(shè)計器”,(5)選擇“
17、屬性”對話框中的“方法程序”選項卡,再選定RightClick Event事件。,(6)雙擊RightClick Event,打開方法程序代碼編輯窗口,在該窗口中輸入命令 :,DO MENUSQUICKMENU.MPR,(7)關(guān)閉“方法程序”編輯窗口,關(guān)閉“類設(shè)計器”窗口,將所做的修改保存到Embossedform子類中。,說明:Embossedform子類是建立表單的類(Class),以后所建的表單均含有單擊右鍵時調(diào)用Myquickmeun菜單的功能。 若要將SDI菜單附加到表單中可在創(chuàng)建了SDI菜單后,將其附加到SDI表單中,其步驟如下: (1)在“表單設(shè)計器”中,將表單的Show Win
18、dow屬性設(shè)置為“2-作為頂層表單”。,(2)在表單的Init事件中調(diào)用該菜單。例如,假設(shè)菜單名為Quickmenu.mpr,添加此代碼: DO Quickmenu.mpr WITH THIS,.T.,返 回,9.1.5 為菜單系統(tǒng)指定任務(wù),在創(chuàng)建菜單系統(tǒng)時,需要考慮系統(tǒng)訪問的簡便性,也必須為系統(tǒng)指定任務(wù)。必須為菜單和菜單項指定所執(zhí)行的任務(wù),如顯示表單、工具欄以及其他的菜單系統(tǒng)。 用戶應(yīng)該定義可以訪問菜單系統(tǒng)的訪問鍵,還可以添加鍵盤快捷鍵,并且控制菜單何時可用。 1、指定訪問鍵 設(shè)計良好的菜單都具有訪問鍵,從而通過鍵盤可以快速地訪問菜單的功能。在菜單標(biāo)題或菜單項中,訪問鍵用帶有下劃線的字母表示
19、。例如,VFP的【文件】菜單使用“F”作為訪問鍵。 如果沒有為某個菜單標(biāo)題或菜單項指定訪問鍵,VFP將自動指定第一個字母作為訪問鍵。例如,假定沒有給創(chuàng)建的“EDIT”菜單定義訪問鍵,VFP將指定第一個字母(E)作為它的訪問鍵。 若要為菜單或菜單項指定訪問鍵,可在希望成為訪問鍵的字母左側(cè)鍵入“”。例如,要在“EDIT”菜單標(biāo)題中設(shè)置“I”作為訪問鍵,可在“菜單名稱”欄中將“EDIT”替換為“EDIT”或“EDITI”。,2、指定鍵盤快捷鍵 除了指定訪問鍵以外,還可以為菜單或菜單項指定鍵盤快捷鍵。和使用訪問鍵一樣,使用鍵盤快捷鍵是讓用戶在按下某個鍵的同時,再按另一個鍵而選擇菜單或菜單項。訪問鍵與鍵
20、盤快捷鍵的區(qū)別是:使用快捷鍵可以在不顯示菜單的情況下選擇此菜單中的一個菜單項。 VFP菜單項的快捷鍵一般用Ctrl或Alt鍵與另一個鍵相組合。例如,按Ctrl+N可在VFP中創(chuàng)建新文件。 若要為菜單或菜單項指定快捷鍵,可以先在“菜單名稱”欄中,選擇相應(yīng)的菜單標(biāo)題或菜單項,再選擇“選項”欄中的按鈕,顯示“提示選項”對話框,如圖9-9所示。 然后在“鍵標(biāo)簽”框中,按下一組合鍵,可創(chuàng)建快捷鍵,如果一個菜單項沒有快捷鍵,VFP將在“鍵標(biāo)簽”框中顯示“按下要定義的鍵”,最后在“鍵說明”框中,添加希望在菜單項的旁邊出現(xiàn)的文本。 注意:Ctrl+J是無效的快捷鍵,因?yàn)樵赩FP中,經(jīng)常將其作為關(guān)閉某些對話框的
21、快捷鍵。,3、啟用和廢止菜單項 可以根據(jù)邏輯條件啟用或廢止菜單及菜單項。設(shè)Gxglxt菜單中各項啟用和廢止條件如下表,說明:czyqx為在菜單運(yùn)行前所賦值的一個字符型內(nèi)存變量,在上機(jī)指導(dǎo)中是在Operator表單中賦的值。 菜單的啟用或廢止是根據(jù)所給條件計算得到,當(dāng)條件為.T.時即將菜單箋或菜單項廢止,如不給條件,默認(rèn)為.F.,即啟用。如果菜單箋廢止,那么菜單箋中的所有菜單項均廢止。如“系統(tǒng)管理”菜單箋下的“操作員注冊”沒有設(shè)置條件,即它按該菜單箋的條件執(zhí)行。,菜單啟用和廢止的設(shè)置方法: 在“菜單設(shè)計器”的“菜單名稱”欄中,選擇相應(yīng)的菜單標(biāo)題或菜單項。如“系統(tǒng)管理”菜單箋中的“操作員注冊”共單
22、項 。,單擊“選項”按鈕,顯示“提示選項”對話框。,選擇“跳過”按鈕,打開“表達(dá)式生成器”或直接在“跳過”文本框中輸入條件表達(dá)式。,UPPER(CZYQX)A,返回到“菜單設(shè)計器”后,可用同樣的方法設(shè)置其他菜單項啟用或廢止。,4、輸入過程或程序,如:在Gxglxt菜單的【查詢】菜單箋中所有的菜單項均調(diào)用同一個表單查詢界面(表單中的數(shù)據(jù)源來自系統(tǒng)當(dāng)前工作區(qū)中的表),不同處是對不同的查詢菜單項使用不同的表。由于使用同一表單界面,為菜單項指定任務(wù)時可以通過調(diào)用過程完成。 打開“菜單設(shè)計器”,進(jìn)入到【查詢】菜單箋中,如圖:,將【查詢】菜單箋中的所有菜單項的“結(jié)果”設(shè)置為“過程”。方法同前。然后選擇【系
23、查詢】,單擊【創(chuàng)建】按鈕。,在“系查詢”-過程編輯窗口中輸入過程代碼:,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)閉“過程”編輯窗口。,返回“菜單設(shè)計器”后,使用同樣的方法為其他菜單項編輯過程。,可以為菜單或菜單項指定一個過程,指定過程的方式取決于菜單或菜單項是否有子菜單。若要為不含有子菜單的菜單或菜單項指定過程
24、,可以在“菜單名稱”欄中,選擇相應(yīng)的菜單標(biāo)題或菜單項,再在“結(jié)果”框中選擇“過程”,“創(chuàng)建”按鈕出現(xiàn)在列表的右側(cè)。如果先前已定義了一個過程,則這里出現(xiàn)的是“編輯”按鈕,再選擇“創(chuàng)建”或“編輯”,在窗口中鍵入正確的代碼。 由于VFP會自動地生成PROCEDURE語句,因而不必在過程編輯窗口中鍵入此語句,只有在清理代碼中才需要PROCEDURE語句。 為含有子菜單的菜單或菜單項指定過程的步驟如下: (1)請在“菜單級”框中,選擇包含相應(yīng)菜單或菜單項的菜單級。 (2)從系統(tǒng)菜單中選擇【顯示】|【菜單選項】。 (3)可以用下列方法之一指定一個過程:在“過程”框中編寫或調(diào)用過程,或者選擇“編輯”,然后再
25、選擇“確定”,打開獨(dú)立的編輯窗口并編寫或調(diào)用過程。,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)行菜單程序時,初始化代碼及菜單
26、定義代碼在清理代碼之前執(zhí)行。向菜單系統(tǒng)中添加清理代碼,可以從系統(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 創(chuàng)建自定義工具欄,9.2.1 定義工具欄類,9.2.2 在表單集中添加自定義工具欄,退 出,返 回,如果應(yīng)用程序中包含一些用戶經(jīng)常重復(fù)執(zhí)行的任務(wù),那么可以添加相應(yīng)的自定義
27、工具欄,簡化操作,加速任務(wù)的執(zhí)行。 下面各節(jié)介紹的是為應(yīng)用程序創(chuàng)建自定義工具欄的方法。,9.2.1 定義工具欄類,如果要創(chuàng)建一個工具欄,要它包含己有工具欄所沒有的按鈕,則可通過定義一個自定義工具欄類完成此任務(wù)。VFP提供了一個工具欄基類,在此基礎(chǔ)上可以創(chuàng)建所需的類。創(chuàng)建新類的方法在5.4.5類的操作方法中已作詳細(xì)的講解。 定義了工具欄類以后,可向工具欄類添加對象,并為自定義工具欄定義屬性、事件和方法程序,最后可將工具欄添加到表單集中。,返 回,9.2.2 在表單集中添加自定義工具欄,在定義一個工具欄類之后,便可以用這個類創(chuàng)建一個工具欄??梢杂谩氨韱卧O(shè)計器”或者用編寫代碼的方法,將工具欄與表單對
28、應(yīng)起來。 1、在“表單設(shè)計器”中協(xié)調(diào)工具欄和表單 可以在表單集中添加工具欄,讓工具欄與表單集中的各個表單一起打開。但不能直接在某個表單中添加工具欄。使用“表單設(shè)計器”在表單集中添加工具欄的步驟如下: (1)先注冊并選定包含工具欄類的類庫。 (2)打開要使用上述工具欄類的表單集,再從“表單控件”工具欄選擇“查看類”,然后從顯示的列表中選擇該工具欄類。 (3)從“表單控件”工具欄中選擇工具欄類。 (4)在“表單設(shè)計器”中單擊,添加此工具欄,然后將工具欄拖動到適當(dāng)?shù)奈恢茫琕FP將在表單集上添加工具欄,如果表單集尚未打開,VFP將提示用戶打開一個。 (5)為工具欄及其按鈕定義操作。,2、使用代碼協(xié)調(diào)工
29、具欄和表單 除了使用“表單設(shè)計器”外,還可以使用代碼在表單集中添加工具欄。如果要使用代碼在表單集中添加工具欄,可以在表單集的Init事件中,使用SET CLASSLB命令,指定包含工具欄類的類庫,然后在表單集中由此類創(chuàng)建工具欄。 例如,要添加并顯示基于_base類庫中_toolbar類的工具欄mytoolbar,可以在表單集的Init事件中添加下列代碼: SET CLASSLIB TO LIBS_BASE THIS.ADDOBJECT(MYTOOLBAR,_TOOLBAR) THIS.MYTOOLBAR.SHOW 如果使用已經(jīng)定義了的一個工具欄,如在第五章中定義的NEWTOOLBAR工具欄,則
30、可以在表單集的Init事件添加如下代碼: SET CLASSLIB TO LIBSNEWTOOLBAR ADDITIVE THIS.ADDOBJECT(MYTOOLBAR,NEWTOOLBAR) THIS.MYTOOLBAR.SHOW 注意:如果工具欄類沒有定義工具欄及其按鈕要執(zhí)行的操作,那么必須在與工具欄及其按鈕相關(guān)的事件過程中定義操作。,3、創(chuàng)建自定義工具欄示例 可以在代碼中定義工具欄的各個要素。例如,在第五章中定義的NEWTOOLBAR工具欄沒有指定工具欄及其按鈕等要執(zhí)行的操作,現(xiàn)以該工具欄添加到表單集為例,說明其方法。先在表單集的Init事件中添加下列代碼,當(dāng)加載表單集時,VFP將創(chuàng)建
31、并顯示代碼中定義的工具欄,該工具欄如圖:,SET CLASSLIB TO LIBSNEWTOOLBAR ADDITIVE THIS.ADDOBJECT(MYTOOLBAR,NEWTOOLBAR) THIS.MYTOOLBAR.SHOW 對NEWTOOLBAR工具欄中各控件的執(zhí)行代碼定義的步驟及代碼如下: (1)選擇“項目管理器”中的“類”選項卡。 (2)找到并選擇以前定義的NEWTOOLBAR類。 (3)單擊“項目管理器”的【修改】按鈕。,(4)分控件進(jìn)行代碼設(shè)計。 對Combo1組合框的代碼進(jìn)行定義: 選擇Combo1控件,在“屬性”中選擇“其它”選項卡,將Enabled屬性設(shè)為“假” 。(
32、在表單集中不設(shè)文章排版)。 對Combo2組合框的代碼進(jìn)行定義: 選擇Combo2控件,在“屬性”中選擇“數(shù)據(jù)”選項卡,將RowSourceType屬性設(shè)為“1-值”,將RowSource屬性設(shè)為 宋體,黑體,仿宋,楷體(還可以添加其它VFP能識別的字體名)。設(shè)置初始值,將Value屬性設(shè)為=宋體。 選擇“方法程序”選項卡,雙擊Click Event,在彈出的代碼編輯框中寫入如下代碼: THISFORMSET.ActiveForm.ActiveControl.FontName=THIS.VALUE,對Combo3組合框的代碼進(jìn)行定義: 在上一步的方法程序編輯框中,從“對象”后的組合框中選擇Co
33、mbo3,然后在Click Event方法程序編輯框中輸入如下的代碼: THISFORMSET.ActiveForm.ActiveControl.FontSize=; VAL(ALLTRIM(THIS.VALUE) 在“屬性”中的對象選擇框中選擇Combo3對象,再選擇“數(shù)據(jù)”選項卡,將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。 對Command1命令按鈕的代碼進(jìn)行定義: 在上一步的方法程序編輯框中,從“對象”后的組合框中選擇Command1對象,然后在Click Event方法程序編輯框中輸入如下的代碼: THISFORMSET.ActiveForm.ActiveControl.FontBold=; !THISFORMSET.ActiveForm.ActiveControl.FontBold THIS.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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 城市景觀施工方案(3篇)
- 泄水涵施工方案(3篇)
- 燃?xì)馄骶呒芭浼芾碇贫?3篇)
- 景區(qū)票務(wù)安全管理制度
- 罕見自身免疫病的聯(lián)合治療方案優(yōu)化
- 食品廠食品安全責(zé)任制度
- 江蘇省淮安、宿遷等2026屆生物高三上期末質(zhì)量檢測模擬試題含解析
- 董事會工財務(wù)制度
- 增減掛鉤財務(wù)制度
- 規(guī)范村級財務(wù)制度
- 2025-2026學(xué)年仁愛科普版七年級英語上冊(全冊)知識點(diǎn)梳理歸納
- 乙狀結(jié)腸癌教學(xué)課件
- TNAHIEM 156-2025 口內(nèi)數(shù)字印模設(shè)備消毒滅菌管理規(guī)范
- 頂棚保溫施工組織方案
- ISO13485:2016醫(yī)療器械質(zhì)量管理手冊+全套程序文件+表單全套
- 學(xué)校6S管理培訓(xùn)
- DB15-T 4031-2025 建設(shè)項目水資源論證表編制導(dǎo)則
- 2025-2030國學(xué)啟蒙教育傳統(tǒng)文化復(fù)興與商業(yè)模式探索報告
- 2025年事業(yè)單位考試(醫(yī)療衛(wèi)生類E類)職業(yè)能力傾向測驗(yàn)試卷及答案指導(dǎo)
- 2025年江蘇省高考?xì)v史真題(含答案解析)
- 系統(tǒng)解剖學(xué)章節(jié)練習(xí)題及答案
評論
0/150
提交評論