![(完整)4_UG二次開發(fā)實用教程第四章_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/2/71352e95-70a3-4e11-b010-0d6669139429/71352e95-70a3-4e11-b010-0d66691394291.gif)
![(完整)4_UG二次開發(fā)實用教程第四章_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/2/71352e95-70a3-4e11-b010-0d6669139429/71352e95-70a3-4e11-b010-0d66691394292.gif)
![(完整)4_UG二次開發(fā)實用教程第四章_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/2/71352e95-70a3-4e11-b010-0d6669139429/71352e95-70a3-4e11-b010-0d66691394293.gif)
![(完整)4_UG二次開發(fā)實用教程第四章_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/2/71352e95-70a3-4e11-b010-0d6669139429/71352e95-70a3-4e11-b010-0d66691394294.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第 4 章 用戶界面開發(fā)技術(shù)UG用戶可以通過用戶界面與應(yīng)用程序及UG系統(tǒng)進(jìn)行交互操作,界面開發(fā)工具包括:菜單編輯工具UG/Open MenuScript 、對話框編輯工具UG/OpenUIStyler 、系統(tǒng)對話框以及 MFC等,用戶可以綜合運用各種界面開發(fā)工具來開發(fā)出適合用戶自己的菜單、 快捷工具條和對話框, 從而實現(xiàn)應(yīng)用程序與 UG系統(tǒng)用戶界面下的無縫集成。4.1 UIStyler對話框UIStyler是用戶開發(fā) UG對話框的可視化工具,它可以避免復(fù)雜的圖形用戶接口( GUI)編程,其設(shè)計對話框的方式與 Visual C+ 很相似,即利用對話框中基本單元的組合生成不同的對話框, 對話框中所
2、有控件設(shè)計都是實時可見的。 UG/Open UIstyler 主要提供了以下的功能:1、提供了讓用戶創(chuàng)建UG風(fēng)格對話框的可視化環(huán)境, 并能生成 UG/OpenUIStyler文件和 C代碼,從而使用戶在使用時不必考慮圖形界面的實現(xiàn)。2、利用可視化環(huán)境快速生成UG風(fēng)格的對話框,從而減少開發(fā)時間。3、通過選取和放置控件,從而實現(xiàn)所見即所得。4、可以在對話框中實現(xiàn)用戶自定義的位圖。5、提供了屬性編輯器,從而允許用戶設(shè)置和修改控件屬性。6、 UG/Open UIStyler 生成的對話框可與 UG/Open MenuScript 、 UG/Open API、 UG/Open GRIP 集成,便于用戶執(zhí)
3、行二次開發(fā)程序。對話框的應(yīng)用對話框的應(yīng)用環(huán)境UG的 UIStyler 應(yīng)用模塊提供給用戶可視化建立 UG風(fēng)格對話框的功能 。 在 UG 主 菜 單中 選 擇菜 單項 “ Application User Interface Styler. ”,進(jìn)入 UIStyler 應(yīng)用模塊, UIStyler 可視化界面如圖 4-1所示。控件編輯工控件基本對話對象瀏覽屬性編輯圖 4-1 UIStyler 可視化界面對話框設(shè)計UIStyler 可視化界面包括基本對話框、對象瀏覽器、屬性編輯器、控件欄和控件編輯工具五部分。 用戶在控件欄中選擇控件后放置在基本對話框中,通過對象瀏覽器查看在基本對話框中設(shè)置的控件對
4、象信息、 利用控件編輯工具調(diào)整控件布局, 通過屬性編輯器編輯對話框及指定控件的屬性。利用 UIStyler創(chuàng)建對話框并保存,系統(tǒng)將自動生成三個文件:1 *.c 文件:對話框 C 語言源文件的模板文件,用戶復(fù)制該模板文件,補(bǔ)充回調(diào)函數(shù)代碼,將生成對話框應(yīng)用程序文件, .dll 文件應(yīng)放在應(yīng)用程序主目錄的 startup 子目錄下,在 UG系統(tǒng)啟動是加載;2 *.h 文件:定義 *.c 文件中函數(shù)原型的 *.c 文件的頭文件;3 *.dlg 文件:對話框文件,該文件需要被復(fù)制到應(yīng)用程序主目錄的 application 子目錄下,由用戶應(yīng)用程序調(diào)用。對話框的應(yīng)用步驟(1)設(shè)計對話框界面草圖;(2)利
5、用 UIStyler工具創(chuàng)建對話框;(3)設(shè)置對話框中的回調(diào)函數(shù);(4)保存對話框;(5)將系統(tǒng)自動生成的對話框 C 語言模板文件復(fù)制到 VC+項目中;(6)修改 C 文件,添加回調(diào)函數(shù)代碼,編譯連接文件;(7)將對話框文件(.dlg )復(fù)制到相應(yīng)的目錄下,將共享庫文件(.dll )復(fù)制到相應(yīng)的目錄下;(8)運行、測試及調(diào)試應(yīng)用程序。具體 每一 步的 詳 細(xì)介 紹請 參考 系統(tǒng) 幫助 文件中 Tools User Interface Styler 。在 UIStyler 對話框開發(fā)過程中,涉及到編程的僅 5、6 兩個步驟?;緦υ捒驁D 4-2 是一個最簡單的對話框,由三個系統(tǒng)按鈕和對話框標(biāo)題組
6、成。對話框的屬性包括基本屬性、被選擇屬性和回調(diào)函數(shù)。圖 4-2 基本對話框1、對話框基本屬性對話框的基本屬性如圖 4-3 所示。其中包括對話框標(biāo)題、提示信息、對話框前線名稱、調(diào)用對話框的形式以及導(dǎo)航按鈕等。圖 4-3 對話框基本屬性對話框標(biāo)題(Dialog Title):對話框標(biāo)題顯示在對話框的標(biāo)題欄中。提示信息( Cue):對話框提示信息將顯示在UG的提示欄中。前綴名稱( Prefix Name ):對話框前綴名稱將作為所有對話框控件名和對話框回調(diào)函數(shù)名的前綴,默認(rèn)值為CHANGE。注意:同一工程中的不同對話框應(yīng)選用不同的前綴名稱。對話框類型(Dialog Type):對話框類型有 Bott
7、om 和 Top 兩種,Bottom類型表明該對話框需使用導(dǎo)航按鈕,Top 類型則相反,一般采用Bottom類型。對話框調(diào)用點( Launch DialogFrom):對話框調(diào)用點是指對話框被調(diào)用的位置和方式,包括回調(diào)函數(shù)調(diào)用、菜單調(diào)用、User Exit調(diào)用和所有調(diào)用方式。導(dǎo)航按鈕設(shè)置( Navigation Buttons ): UIStyler 提供了 OK、BACK、APPLY和 CANCEL4種導(dǎo)航按鈕。對所有的對話框, OK和 CANCEL按鈕都是必須的。對已經(jīng)選擇的導(dǎo)航按鈕,還可以指定其激活狀態(tài)。 在導(dǎo)航按鈕激活欄里沒有被激活的導(dǎo)航按鈕, 在對話框被調(diào)用時,按鈕是不能被單擊的。對
8、話框尺寸( Allow Dialog to Resize ):當(dāng)對話框的允許尺寸改變屬性被設(shè)置時,對話框在調(diào)用時,允許用戶改變對話框的尺寸。2、對話框選擇屬性對話框的選擇屬性如圖 4-4 所示。包含了對話框激活開關(guān)、 對話框選擇方式和對話框選擇范圍定義。選擇方式定義了在當(dāng)前對話框被激活時,在窗口中選擇對象的方式是否變化。 其共有 3 種,即無變化(繼承上次選擇操作的屬性定義)、單選、魯棒選擇等。選擇范圍定義了當(dāng)前對話框被激活時,被選擇對象所有范圍是否變化。其有 4 種方式,即不變化、在裝配中、僅在工作部件中、在工作部件和子裝配中。圖 4-4 對話框選擇屬性2、對話框基本回調(diào)函數(shù)對話框的基本回調(diào)
9、函數(shù)如圖 4-5 所示。所有對話框都有 6 種基本回調(diào)函數(shù),它們分別是 APPLY按鈕的回調(diào)函數(shù)、 BACK按鈕的回調(diào)函數(shù)、 CANCEL 按鈕的回調(diào)函數(shù)、 OK 按鈕的回調(diào)函數(shù)、對話框構(gòu)造函數(shù)和對話框析構(gòu)函數(shù)。對話框構(gòu)造函數(shù)在 UG構(gòu)造對話框完成之后, 用戶應(yīng)用執(zhí)行之前調(diào)用。由于此時對話框上的所有控件都可以被使用, 因此構(gòu)造函數(shù)是初始化對話框的最佳位置。 對話框析構(gòu)函函數(shù)是在 UG對話框關(guān)閉之前被調(diào)用, 此時,對話框中的控件仍然可以被訪問到。 對話框析構(gòu)函數(shù)為用戶提供了諸如釋放內(nèi)存等析構(gòu)操作的位置。圖 4-5 對話框回調(diào)函數(shù)控件控件種類UIStyler 提供的控件 有靜態(tài)文 本( label
10、 )、整型 數(shù)值輸 入框( Integer )、浮點型數(shù)值輸入框( Real)、字符串輸入框( String )、寬字符輸入框( Wide String )、多行文本框( Multi-lineText )、按鈕( Push Button )、復(fù)選框(Toggle )、分隔線(Separator )、位圖(Bitmap )、布局按鈕(Button Layout )、下拉列表框( Option Menu)、單選按鈕(Radio Box)、工具組( Tool Palette )、整型數(shù)滑動條( Scale Integer )、實型數(shù)滑動條( Scale Real )、單選列表框( Single Se
11、lection List)、多選列表框( Multi-SelectList )、單選框( SelectionBox)、滾動窗口( Scrolled Window )等控件,控件具體用法與 VB等可視化語言相似, UIStyler 控件種類如圖 4-6 所示。圖 4-6 對話框控件控件訪問常用數(shù)據(jù)類型和函數(shù)訪 問 UIStyler 控 件 經(jīng) 常 用 到 的 數(shù) 據(jù) 類 型 是 結(jié) 構(gòu)UF_STYLER_item_value_type_s、函數(shù) UF_STYLER_create_dilaog() 、函數(shù) UF_STYLER_ask_value()和函數(shù) UF_STYLER_set_value()
12、。1、 UF_STYLER_item_value_type_s結(jié)構(gòu) UF_STYLER_item_value_type_s 通常在查詢對話框控件屬性和設(shè)置對話柜控件屬性時使用。如函數(shù) UF_STYLER_ask_value()的輸出參數(shù)和 函 數(shù) UF_STYLER_set_value() 的 輸 入 參 數(shù) 。 結(jié) 構(gòu) 見UF_STYLER_item_value_type_s定義如下:struct UF_STYLER_item_value_type_s int reason;const char *item_id;int subitem_index;int count;int item_at
13、tr;int indicator;UF_STYLER_value_t value;表 4-1 結(jié)構(gòu) UF_STYLER_item_value_type_s 的成員說明成員成員說明reason表明觸發(fā)回調(diào)函數(shù)的原因,一般不需要用戶修改item_id表示控件的標(biāo)識subitem_index用來標(biāo)識某些控件(比如: Option Menu 、 Radio Box )子對象count當(dāng) value 是數(shù)組時,表示數(shù)組的長度item_attr當(dāng)前結(jié)構(gòu)變量描述的控件屬性indicator指明 value 的數(shù)據(jù)類型valueunion 類型的數(shù)據(jù),表明控件的值。注意:必須利用函數(shù)UF_STYLER_fre
14、e_value 釋放為字符串或數(shù)組申請的內(nèi)存。表 4-2 對話框控件的常用屬性屬性描述Label控件的文本描述, 一般表示控件用途; 如果控件設(shè)置了位圖屬性,則顯示為文本提示信息Object控件標(biāo)識IdentifierValue控件內(nèi)容,可以在構(gòu)建對話框時定義,也可以通過程序進(jìn)行設(shè)定Bitmap位圖文件,可以是UBM、 XPM或 BMP文件Sensitive控件的激活開關(guān),TRUE為激活, FALSE為非激活Focus鍵盤聚焦,即對話框彈出時鍵盤的輸入位置Visibility控制控件的可見性,TRUE為控件可見, FALSE為不可見Item Type控件類型List Deselect取消列表框
15、中選項的選中狀態(tài)List Insert在列表框中插入若干選擇項List Delete刪除列表框中的指定選項List Show設(shè)置列表框中顯示的選擇項2、 UF_STYLER_ask_value()函數(shù)通過函數(shù) UF_STYLER_ask_value()查詢對話框控件的屬性。該函數(shù)只能用在對話框定義的回調(diào)函數(shù)中,其語法格式如下:extern int UF_STYLER_ask_value(intdialog_id,UF_STYLER_item_value_type_p_t value) ;表 4-3 函數(shù) UF_STYLER_ask_value() 的成員說明參數(shù)參數(shù)描述dialog_id輸入?yún)?/p>
16、數(shù)。表示被查詢控件所屬對話框的標(biāo)識,通常是由styler對話框傳遞回調(diào)函數(shù)的輸入 / 輸出參數(shù)。作為輸入?yún)?shù), value 指明查詢對象和該對象的屬性;value作為輸出參數(shù), value 返回被查詢控件的屬性。必須利用函數(shù)UF_STYLER_free_value 釋放字符串或數(shù)組申請的內(nèi)存。3、 UF_STYLER_set_value()函數(shù)函數(shù) UF_STYLER_ask_value()用來改變控件屬性。該函數(shù)只能用在對話框定義的回調(diào)函數(shù)中,其語法格式如下:extern int UF_STYLER_set_value(int dialog_id,UF_STYLER_item_value_t
17、ype_p_t value);表 4-4 函數(shù) UF_STYLER_set_value() 的成員說明參數(shù)參數(shù)描述dialog_id輸入?yún)?shù),表示被查詢控件所屬對話框的標(biāo)識,通常是由styler 對話框傳遞回調(diào)函數(shù)的value輸入?yún)?shù),用于指明被修改的控件、控件屬性和控件屬性值訪問字符串輸入框( String )設(shè)置字符串輸入框的控件屬性時涉及的變量與參數(shù)如表4-5 所示。表 4-5 String 控件屬性的設(shè)置屬性變量和輸入?yún)?shù)變量輸入?yún)?shù)item_attrUF_STYLER_BITMAPBitmapitem_id被設(shè)置的控件標(biāo)識value.string位圖文件名, UBM、XPM或 BMP
18、文件item_attrUF_STYLER_LABELLabelitem_id被設(shè)置的控件標(biāo)識value.string顯示在輸入框左邊的文本內(nèi)容item_attrUF_STYLER_VALUEValueitem_id被設(shè)置的控件標(biāo)識value.string顯示在輸入框中的文本內(nèi)容item_attrUF_STYLER_SENSITIVITYSensitiveitem_id被設(shè)置的控件標(biāo)識egerTRUE為控件激活, FALSE為非激活item_attrUF_STYLER_VISIBILITYVisibilityitem_id被設(shè)置的控件標(biāo)識egerTRUE為控件
19、可見, FALSE為不可見Focusitem_attrUF_STYLER_FOCUSitem_id被設(shè)置的控件標(biāo)識下面的一段代碼實現(xiàn)設(shè)置字符串控件可見性的功能:UF_STYLER_item_value_type_t value;value.item_attr = UF_STYLER_VISIBILITY;value.item_id = item_id; / 控件標(biāo)識可見UF_STYLER_set_value( dialog_id, &value ); UF_STYLER_free_value( &value );獲取字符串輸入框的控件屬性時涉及的變量與參數(shù)如表4-6 所示。表
20、4-6 String 控件屬性的獲取屬性參數(shù)輸入?yún)?shù)輸出參數(shù)變量數(shù)值變量數(shù)值intem_attrUF_STYLER_VALUEIndicatorUF_STYLER_STRING_VALUECount1Value控件標(biāo)識item_idValue.string字符串輸入框的內(nèi)容intem_attrUF_STYLER_SENSITIVITYIndicatorUF_STYLER_INTEGER_VALUECount1Sensitive控件標(biāo)識item_idVegerTURE為激活; FALSE為非激活intem_attrUF_STYLER_VISIBILITYIndicatorUF_S
21、TYLER_INTEGER_VALUECount1Visibility控件標(biāo)識item_idVegerTURE為可見; FALSE為非可見intem_attrUF_STYLER_ITEM_TYPEIndicatorUF_STYLER_INTEGER_VALUECount1Item Type控件標(biāo)識item_idVegerUF_STYLER_STRING_TYPE下面的一段代碼實現(xiàn)獲取字符串控件的輸入值的功能:UF_STYLER_item_value_type_t value;value.item_attr = UF_STYLER_VALUE;value.item
22、_id = item_id;/控件標(biāo)識UF_STYLER_ask_value( dialog_id, &value );char sNeeded133;UF_STYLER_free_value( &value );訪問按鈕控件( Push Button)設(shè)置按鈕的控件屬性時涉及的變量與參數(shù)如表4-7 所示。表 4-7 Push Button 控件屬性的設(shè)置屬性變量和輸入?yún)?shù)變量輸入?yún)?shù)item_attrUF_STYLER_BITMAPBitmapitem_id被設(shè)置的控件標(biāo)識value.string位圖文件名, UBM、 XPM或 BMP文件item_attrUF_STYLER
23、_LABELLabelitem_id被設(shè)置的控件標(biāo)識value.string顯示在按鈕上的文本內(nèi)容item_attrUF_STYLER_SENSITIVITYSensitiveitem_id被設(shè)置的控件標(biāo)識egerTRUE為控件激活, FALSE為非激活item_attrUF_STYLER_VISIBILITYVisibilityitem_id被設(shè)置的控件標(biāo)識egerTRUE為控件可見, FALSE為不可見Focusitem_attrUF_STYLER_FOCUSitem_id被設(shè)置的控件標(biāo)識Default Actionitem_attrUF_STYLER_
24、DEFAULT_ACTIONitem_id被設(shè)置的控件標(biāo)識下面的一段代碼實現(xiàn)設(shè)置按鈕控件的位圖顯示的功能: UF_STYLER_item_value_type_t value; value.item_attr = UF_STYLER_BITMAP;value.item_id = item_id;/控件標(biāo)識“E:bitmapPushButton.bmp”; /位圖文件的路徑UF_STYLER_set_value( dialog_id, &value ); UF_STYLER_free_value( &value );獲取按鈕控件屬性時涉及的變量與參數(shù)如表4-8 所示。表 4-8
25、Push Button 控件屬性的獲取參數(shù)屬性輸入?yún)?shù)輸出參數(shù)變量數(shù)值變量數(shù)值intem_attrUF_STYLER_SENSITIVITYIndicatorUF_STYLER_INTEGER_VALUECount1Sensitive控件標(biāo)識item_idVegerTURE為激活; FALSE為非激活intem_attrUF_STYLER_VISIBILITYIndicatorUF_STYLER_INTEGER_VALUECount1Visibility控件標(biāo)識item_idVegerTURE為可見; FALSE為非可見intem_attrUF_STYLER_I
26、TEM_TYPEIndicatorUF_STYLER_INTEGER_VALUECount1Item Type控件標(biāo)識item_idVegerUF_STYLER_ACTION_BUTTON_TYPE下面的一段代碼實現(xiàn)獲取按鈕控件激活狀態(tài)的功能:UF_STYLER_item_value_type_t value;value.item_attr = UF_STYLER_SENSITIVE;value.item_id = item_id;/控件標(biāo)識UF_STYLER_ask_value( dialog_id, &value ); ;UF_STYLER_free_value(
27、&value );訪問單選按鈕(Radio Box )設(shè)置單選按鈕的控件屬性時涉及的變量與參數(shù)如表4-9 所示。表 4-9 Radio Box 控件屬性的設(shè)置屬性變量和輸入?yún)?shù)變量輸入?yún)?shù)item_attrUF_STYLER_LABELLabelitem_id被設(shè)置的控件標(biāo)識value.string控件的描述文本內(nèi)容item_attrUF_STYLER_VALUEValueitem_id被設(shè)置的控件標(biāo)識subitem_index被選中的按鈕索引,必須在選擇范圍之內(nèi)item_attrUF_STYLER_SENSITIVITYSensitiveitem_id被設(shè)置的控件標(biāo)識value.in
28、tegerTRUE為控件激活, FALSE為非激活subitem_index被選中的按鈕索引,必須在選擇范圍之內(nèi)item_attrUF_STYLER_VISIBILITYVisibilityitem_id被設(shè)置的控件標(biāo)識egerTRUE為控件可見, FALSE為不可見Default Actionitem_attrUF_STYLER_DEFAULT_ACTIONitem_id被設(shè)置的控件標(biāo)識下面的一段代碼實現(xiàn)設(shè)置單選按鈕控件標(biāo)簽的功能:UF_STYLER_item_value_type_t value;value.item_attr = UF_STYLER_LABEL;/控件標(biāo)
29、識“控件標(biāo)簽名”); /標(biāo)簽名稱UF_STYLER_set_value( dialog_id, &value ); UF_STYLER_free_value( &value );獲取單選按鈕的控件屬性時涉及的變量與參數(shù)如表4-10 所示。表 4-10 Radio Box 控件屬性的獲取屬性參數(shù)輸入?yún)?shù)輸出參數(shù)變量數(shù)值變量數(shù)值intem_attrUF_STYLER_VALUEIndicatorUF_STYLER_STRING_VALUECount1Value控件標(biāo)識item_idValue.string被選中對象的值intem_attrUF_STYLER_SENSITIVITYI
30、ndicatorUF_STYLER_INTEGER_VALUECount1Sensitive控件標(biāo)識item_idVegerTURE為激活; FALSE為非激活intem_attrUF_STYLER_VISIBILITYIndicatorUF_STYLER_INTEGER_VALUECount1Visibility控件標(biāo)識item_idVegerTURE為可見; FALSE為非可見intem_attrUF_STYLER_ITEM_TYPEIndicatorUF_STYLER_INTEGER_VALUECount1Item Type控件標(biāo)識item_idValue
31、.integerUF_STYLER_RADIO_BOX_TYPE下面的一段代碼實現(xiàn)獲取單選按鈕控件的值的功能:UF_STYLER_item_value_type_t value;value.item_attr = UF_STYLER_VALUE;value.item_id = item_id;/控件標(biāo)識UF_STYLER_ask_value( dialog_id, &value );UF_STYLER_free_value( &value );訪問下拉列表框( Option Menu)設(shè)置下拉列表框的控件屬性時涉及的變量與參數(shù)如表4-11 所示。表 4-11 Option Me
32、nu 控件屬性的設(shè)置屬性變量和輸入?yún)?shù)變量輸入?yún)?shù)item_attrUF_STYLER_BITMAPitem_id被設(shè)置的控件標(biāo)識Bitmap位圖文件構(gòu)成的數(shù)組。 如果所有位圖文件在同一文value.strings件夾中, 則只需設(shè)置一個入口即可, 需注意的是文件的數(shù)目必須與設(shè)定的數(shù)目一致count選項的數(shù)量item_attrUF_STYLER_LABELLabelitem_id被設(shè)置的控件標(biāo)識value.string控件的文本描述item_attrUF_STYLER_SUBITEM_VALUESitem_id被設(shè)置的控件標(biāo)識Itemsvalue.strings所有下拉選項構(gòu)成的數(shù)組, 包括所
33、有文本和位圖文件count選項的數(shù)量item_attrUF_STYLER_VALUEValueitem_id被設(shè)置的控件標(biāo)識subitem_index選中的下拉選項,必須處在選擇范圍之內(nèi)item_attrUF_STYLER_SENSITIVITYitem_id被設(shè)置的控件標(biāo)識SegerTRUE為激活, FALSE為非激活如果設(shè)定整個控件的激活狀態(tài),則設(shè)為subitem_indexUF_STYLER_NO_SUB_INDEX;如果設(shè)定單個下拉選項的激活狀態(tài),則設(shè)為下拉選項值item_attrUF_STYLER_VISIBILITYVisibilityitem_i
34、d被設(shè)置的控件標(biāo)識egerTRUE為控件可見, FALSE為不可見下面的一段代碼實現(xiàn)設(shè)置下拉列表框所有選項的功能:UF_STYLER_item_value_type_t value;value.item_attr = UF_STYLER_SUBITEM_VALUES;value.item_id = item_id;/控件標(biāo)識下拉列表框選項的字符串?dāng)?shù)組value.count = iNumOfItem;/下拉列表框選項的數(shù)量UF_STYLER_set_value( dialog_id, &value );UF_STYLER_free_value( &value )
35、;獲取下拉列表框的控件屬性時涉及的變量與參數(shù)如表4-12 所示。表 4-12 Option Menu 控件屬性的獲取參數(shù)屬性輸入?yún)?shù)輸出參數(shù)變量數(shù)值變量數(shù)值intem_attrIndicatorUF_STYLER_STRING_PTR_VALUEItemUF_STYLER_SUBITEM_VALUESitem_id控件標(biāo)識Value.strings下拉選項構(gòu)成的數(shù)組,必須用UF_STYLER_free_value 釋放內(nèi)存intem_attrUF_STYLER_VALUEIndicatorUF_STYLER_INTEGER_VALUEValueCount1item_id控件標(biāo)識Value.in
36、teger被選中對象的值intem_attrUF_STYLER_SENSITIVITYIndicatorUF_STYLER_INTEGER_VALUESensitiveCount1item_id控件標(biāo)識VegerTURE為激活; FALSE為非激活intem_attrUF_STYLER_VISIBILITYIndicatorUF_STYLER_INTEGER_VALUEVisibilityCount1item_id控件標(biāo)識VegerTURE為可見; FALSE為非可見intem_attrUF_STYLER_ITEM_TYPEIndicatorUF_STYLER_
37、INTEGER_VALUEItem TypeCount1item_id控件標(biāo)識VegerUF_STYLER_OPTION_MENU_TYPE下面的一段代碼實現(xiàn)獲取下拉列表框所有選項的功能:UF_STYLER_item_value_type_t value;value.item_attr = UF_STYLER_VALUE;value.item_id = item_id;/控件標(biāo)識UF_STYLER_ask_value( dialog_id, &value );UF_STYLER_free_value( &value );訪問單選列表框(Single Select
38、ion List)設(shè)置單選列表框的控件屬性時涉及的變量與參數(shù)如表4-13所示。表 4-13 Single Selection List 控件的設(shè)置變量和輸入?yún)?shù)屬性變量輸入?yún)?shù)item_attrUF_STYLER_SUBITEM_VALUESItemsitem_id被設(shè)置的控件標(biāo)識value.strings選項構(gòu)成的數(shù)組count選項數(shù)目item_attrUF_STYLER_VALUEValueitem_id被設(shè)置的控件標(biāo)識subitem_index要選中的選項item_attrUF_STYLER_LIST_DESELECTList Deselectitem_id被設(shè)置的控件標(biāo)識subitem
39、_index取消選中的選擇項item_attrUF_STYLER_LIST_INSERTitem_id被設(shè)置的控件標(biāo)識subitem_index設(shè)定選擇項插入位置UF_STYLER_STRING_VALUE,如果只插入一個選擇項,且 value.string必須包含該選擇項List InsertindicatorUF_STYLER_STRING_PTR_VALUE,如果插入的是一系列選擇項,且value.strings必須包含要插入的選擇項,count 定義插入選擇項的數(shù)目value.string插入項,只插入單個選擇項時使用value.stirngs插入項,插入一系列選擇項時使用count要
40、插入的選擇項數(shù)目List Deleteitem_attrUF_STYLER_LIST_DELETEitem_id被設(shè)置的控件標(biāo)識subitem_index要刪除的選擇項item_attrUF_STYLER_SHOWList Showitem_id被設(shè)置的控件標(biāo)識subitem_index當(dāng)前顯示在列表框頂端的選擇項值下面的一段代碼實現(xiàn)設(shè)置單選列表框所有選項的功能:UF_STYLER_item_value_type_t value;value.item_attr = UF_STYLER_SUBITEM_VALUES;value.item_id = item_id;/控件標(biāo)識單選列表框選項的字符串
41、數(shù)組value.count = iNumOfItem; /單選列表框選項的數(shù)量UF_STYLER_set_value( dialog_id, &value );UF_STYLER_free_value( &value );獲取單選列表框的控件屬性時涉及的變量與參數(shù)如表4-14 所示。表 4-14 Single Selection List 控件的獲取參數(shù)屬性輸入?yún)?shù)輸出參數(shù)變量數(shù)值變量數(shù)值IndicatorUF_STYLER_STRING_PTR_VALUEintem_attrValue.strings列表框選項構(gòu)成的數(shù)組,必須ItemUF_STYLER_SUBITEM_VAL
42、UES用 UF_STYLER_free_value 釋放item_id控件標(biāo)識內(nèi)存Count獲得的選擇項的數(shù)目intem_attrUF_STYLER_VALUECountitem_id控件標(biāo)識Value.valueIndicator如果是選項的索引, 設(shè)為0 表示未選中, 1 表示有一Veger 或UF_STYLER_INTEGER_VALUE項被選中Value.value如果是選項內(nèi)容,設(shè)為.stringUF_STYLER_STRING_VALUEintem_attrUF_STYLER_SENSITIVITYIndicatorUF_STYLER_INTEGER_VALUESe
43、nsitiveCount1item_id控件標(biāo)識VegerTURE為激活; FALSE為非激活Visibilityintem_attrUF_STYLER_VISIBILITYIndicatorUF_STYLER_INTEGER_VALUEitem_id控件標(biāo)識Count1VegerTURE為可見; FALSE為非可見IndicatorUF_STYLER_INTEGER_VALUEintem_attrUF_STYLER_ITEM_TYPEItem TypeCount1item_id控件標(biāo)識VegerUF_STYLER_STRING_LIST_TYP
44、E下面的一段代碼實現(xiàn)獲取單選列表框所有選項的功能:UF_STYLER_item_value_type_t value;value.item_attr = UF_STYLER_VALUE;value.item_id = item_id; / 控件標(biāo)識UF_STYLER_free_value( &value );4.2 MenuScript應(yīng)用Menu Script 是 UG/Open的一個重要組成部分,它提供用戶創(chuàng)建并編輯 UG的下拉菜單及工具條。 是一種 UG定義的具有一定語法規(guī)則的腳本語言,通過它用戶不僅可以對 UG中原有的菜單進(jìn)行編輯,隱藏,重新擺放菜單項的位置, 而且可以為自己的
45、應(yīng)用模塊開發(fā)相應(yīng)的菜單。 菜單腳本文件的擴(kuò)展名為 *.men( 文本文件 ) ,工具條文件的擴(kuò)展名為 *.tbr( 文本文件 ) 。Menu Script 的應(yīng)用可以說包括如下兩部分:(1)通過編輯純文本的 menu文件(菜單腳本文件)創(chuàng)建并修改 UG的工具條、主菜單及下拉菜單,而不用開發(fā)C 語言的程序。(2)利用 UG/OPEN API提供的 Menu Script API函數(shù)及子程序用C語言開發(fā)定制菜單選項的UG應(yīng)用,這些選項對應(yīng)的回調(diào)函數(shù)也是用C 語言編寫的。用戶創(chuàng)建的菜單用戶創(chuàng)建的工具條菜單文件及語法環(huán)境變量設(shè)置UG 系統(tǒng)在起動的時候,是通過環(huán)境變量實現(xiàn)來獲得系統(tǒng)菜單文件、用戶菜單文件
46、以及來識別這兩類文件。系統(tǒng)環(huán)境變量可以在文件 ugii_env.dat 中找到定義,若要修改時,也可以在這個文件中修改,但要注意最好保持系統(tǒng)定義的值。1、系統(tǒng)默認(rèn)的路徑與環(huán)境變量系 統(tǒng) 默 認(rèn) 的 主 菜 單 文 件 ug_main.men 、 彈 出 式 菜 單 文 件ug_view_popup.men、與應(yīng)用相關(guān)的菜單文件的位置由三個環(huán)境變量控制,如下表所示:表 4-15 與系統(tǒng)菜單文件相關(guān)的環(huán)境變量環(huán)境變量描述UGII_DEFAULT_MENU_DIRUG 的系統(tǒng)菜單文件所在的路徑UGII_MAIN_MENU_FILE默認(rèn)值為 $UGII_BASE_DIR/ugii/menus 主菜單文
47、件的全路徑$UGII_DEFAULT_MENU_DIR/ug_main.men 彈出式菜單文件的全路徑UGII_VIEW_POPUP_MENU_FILE$UGII_DEFAULT_MENU_DIR/ug_view_popup.men環(huán)境變量 UGII_DEFAULT_MENU_DIR的值不可更改。環(huán)境變量 UGII_MAIN_MENU_FILE和 UGII_VIEW_POPUP_MENU_FILE的值可以更改。你可以把 ug_main.men 和 ug_view_popup.men 剪切到一個目錄下,然后讓這兩個環(huán)境變量指向這個目錄, UG仍然可以正確地加載菜單。與應(yīng) 用相 關(guān)的 菜單文件 是 由應(yīng)用 的 APPLICATION_BUTTON下的MENU_FILES指定的。2、用戶相關(guān)的路徑與環(huán)境變量當(dāng) UG起動時,它會從環(huán)境變量 UGII_CUSTOM_DIRECTORY_FILE指定的文件(默認(rèn)為 $UGII_BASE_DIR/ugii/menus/custom_dirs.dat ,在文件ugii_env.dat中
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 物流管理中的客戶服務(wù)優(yōu)化
- 現(xiàn)代醫(yī)療辦公環(huán)境的電氣化改造
- 國慶節(jié)包廂套餐活動方案
- 2024年五年級品社下冊《祖國不會忘記他們》說課稿 山東版
- 2023二年級數(shù)學(xué)上冊 6 表內(nèi)乘法(二)綜合與實踐 量一量比一比說課稿 新人教版
- 1 北京的春節(jié) 說課稿-2023-2024學(xué)年語文六年級下冊統(tǒng)編版
- 9《生活離不開他們》 感謝他們的勞動 說課稿-2023-2024學(xué)年道德與法治四年級下冊統(tǒng)編版
- Unit 2 Weather Lesson 1(說課稿設(shè)計)-2023-2024學(xué)年人教新起點版英語二年級下冊001
- 2024年高中英語 Unit 3 Welcome to the unit and reading I說課稿 牛津譯林版選擇性必修第二冊
- 2024-2025學(xué)年高中歷史 第五單元 經(jīng)濟(jì)全球化的趨勢 第26課 經(jīng)濟(jì)全球化的趨勢(1)教學(xué)說課稿 岳麓版必修2
- 工程公司總經(jīng)理年終總結(jié)
- 2024年海南省高考地理試卷(含答案)
- 【企業(yè)盈利能力探析的國內(nèi)外文獻(xiàn)綜述2400字】
- 三年級上冊數(shù)學(xué)口算題1000道帶答案
- 2024年知識競賽-競彩知識考試近5年真題集錦(頻考類試題)帶答案
- GB/T 44311-2024適老環(huán)境評估導(dǎo)則
- 蘇教版(2024新版)一年級上冊科學(xué)全冊教案教學(xué)設(shè)計
- 【長安的荔枝中李善德的人物形象分析7800字(論文)】
- 期末綜合測試卷一(試題)-2023-2024學(xué)年一年級下冊數(shù)學(xué)滬教版
- QB/T 6019-2023 制漿造紙專業(yè)設(shè)備安裝工程施工質(zhì)量驗收規(guī)范 (正式版)
- 江西警察學(xué)院治安學(xué)專業(yè)主干課程教學(xué)大綱 文檔
評論
0/150
提交評論