labwindowscvi圖形用戶界面設計課件_第1頁
labwindowscvi圖形用戶界面設計課件_第2頁
labwindowscvi圖形用戶界面設計課件_第3頁
labwindowscvi圖形用戶界面設計課件_第4頁
labwindowscvi圖形用戶界面設計課件_第5頁
已閱讀5頁,還剩69頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

2023/1/6圖形用戶界面設計圖形用戶界面(GraphicalUserInterface)面板(panel)菜單條(menubar)控件(control)LabWindows/CVI自定義的資源格式面板設計其它資源的容器面板屬性編輯器使用用戶界面設計函數創建面板和改變面板屬性2023/1/6圖形用戶界面設計圖形用戶界面(Graphic2023/1/6面板(panel)2023/1/6面板(panel)2023/1/6面板編輯窗口2023/1/6面板編輯窗口2023/1/6面板操作函數:NewPanel 創建面板intNewPanel(intParent_Panel_Handle,charPanel_Title[],intPanel_Top,intPanel_Left,intPanel_Height,intPanel_Width);testPanelHandle=NewPanel(0,"新面板",10,10,200,300);LoadPanel 載入面板intLoadPanel(intParent_Panel_Handle,charFilename[],intPanel_Resource_ID);testPanelHandle=LoadPanel(0,"test.uir",PANEL_TEST);

DisplayPanel 顯示面板intDisplayPanel(intPanel_Handle);DisplayPanel(testPanelHandle);DiscardPanel 釋放面板intDiscardPanel(intPanel_Handle)DiscardPanel(testPanelHandle);2023/1/6面板操作函數:2023/1/6HidePanel 隱藏面板intHidePanel(intPanel_Handle);HidePanel(testPanelHandle);GetPanelAttribute 獲取面板屬性intGetPanelAttribute(intPanel_Handle,intPanel_Attribute,void*Attribute_Value);GetPanelAttribute(testPanelHandle,ATTR_BACKCOLOR,&color);SetPanelAttribute 設置面板屬性intSetPanelAttribute(intPanel_Handle,intPanel_Attribute,...);SetPanelAttribute(testPanelHandle,ATTR_BACKCOLOR,VAL_RED);SavePanelState 保存面板狀態RacallPanelState 調出面板狀態……2023/1/6HidePanel 隱藏面板2023/1/6彈出式面板(Pop-upPanel)2023/1/6彈出式面板(Pop-upPanel)2023/1/6彈出式面板(Pop-upPanel)2023/1/6彈出式面板(Pop-upPanel)2023/1/6彈出式面板函數(Pop-upPanel)InstallPopup

載入彈出式面板intInstallPopup(intPanel_Handle);InstallPopup(testPanelHandle);RemovePopup

刪除彈出式面板intRemovePopup(intRemove_Popup);RemovePopup(0);MessagePopup

輸出信息對話框intMessagePopup(charTitle[],charMessage[]);MessagePopup("提示信息","測試結束,全部合格");ConfirmPopup

等待確認對話框YesorNointConfirmPopup(charTitle[],charMessage[]);response=ConfirmPopup("測試信息","測量錯誤,是否繼續?");PromptPopup

等待輸入字符信息對話框intPromptPopup(charTitle[],charMessage[],charResponse_Buffer[],intMax_Response_Length);PromptPopup("輸入信息","請輸入姓名",&name,20);2023/1/6彈出式面板函數(Pop-upPanel)2023/1/6FileSelectPopupintFileSelectPopup(charDefault_Directory[],charDefault_File_Spec[],charFile_Type_List[],charTitle[],intButton_Label,intRestrict_Directory?,intRestrict_Extension?,intAllow_Cancel?,intAllow_Make_Directory?,charPath_Name[]);i=FileSelectPopup("c:\\vxipnp","*.txt","*.*","選擇數據文件",VAL_LOAD_BUTTON,0,0,1,0,filename);DirSelectPopupintDirSelectPopup(charDefault_Directory[],charTitle[],intAllow_Cancel?,intAllow_Make_Directory?,charPath_Name[]);i=DirSelectPopup("c:\\vxipnp","SelectDirectory",1,1,&pathname);WaveformGraphPopupintWaveformGraphPopup(charTitle[],void*Y_Array,intNumber_of_Points,intY_Data_Type,doubleY_Gain,doubleY_Offset,doubleInitial_X,doubleX_Increment);WaveformGraphPopup("測量波形",testdata,1024,VAL_DOUBLE,1.0,0.0,0.0,1.0);2023/1/6FileSelectPopup2023/1/6菜單條設計簡易菜單條和定制菜單條菜單制作和編輯器使用用戶界面函數創建和編輯菜單2023/1/6菜單條設計2023/1/6菜單編輯窗口2023/1/6菜單編輯窗口2023/1/6菜單操作函數:LoadMenuBarintLoadMenuBar(intDestination_Panel_Handle,charFilename[],intMenu_Bar_Resource_ID);mainMenuHandle=LoadMenuBar(testPanelHandle,"test.uir",MAIN_MENU);DiscardMenuBarintDiscardMenuBar(intMenu_Bar_Handle);DiscardMenuBar(mainMenuHandle);NewMenuBarintNewMenuBar(intDestination_Panel_Handle);mainMenuHandle=NewMenuBar(testPanelHandle);NewMenuintNewMenu(intMenu_Bar_Handle,charMenu_Name[],intBefore_Menu_ID);menuFileID=NewMenu(mainMenuHandle,"文件",-1);2023/1/6菜單操作函數:2023/1/6NewMenuItemintNewMenuItem(intMenu_Bar_Handle,intMenu_ID,charItem_Name[],intBefore_Menu_Item_ID,intShort_Cut_Key,MenuCallbackPtrEvent_Function,void*Event_Callback_Data);&menuFileOpenID=NewMenuItem(mainMenuHandle,menuFileID,"打開...",-1,0,FileOpen,0);NewSubMenuintNewSubMenu(intMenu_Bar_Handle,intMenu_Item_ID);menuFileOpenID=NewSubMenu(mainMenuHandle,menuFileID);

DiscardMenuDiscardSubMenuDiscardMenuItem……2023/1/62023/1/6

控件設計控件種類:數值型(Numeric):數值控件,顏色選擇控件,數值滑動條2023/1/6控件設計2023/1/6文本型(Text):字符串控件,文本信息,文本框2023/1/6文本型(Text):字符串控件,文本信息,文2023/1/6命令按鈕(CommandButton):命令按鈕,圖片按鈕雙態按鈕(ToggleButton):雙態按鈕,文本/圖形按鈕,單選/復選控件2023/1/6命令按鈕(CommandButton):命2023/1/6指示等(LED)二值開關(BinarySwitch)2023/1/6指示等(LED)2023/1/6列表控件(Ring):下拉列表,滑動列表,圖形列表2023/1/6列表控件(Ring):下拉列表,滑動列表,圖2023/1/6列表框(ListBox)裝飾控件(Decoration)2023/1/6列表框(ListBox)2023/1/6圖形控件(Graph):曲線圖控件,帶狀圖控件,數字圖控件曲線圖控件(Graph)2023/1/6圖形控件(Graph):曲線圖控件,帶狀圖控2023/1/6帶狀圖控件(StripChart)2023/1/6帶狀圖控件(StripChart)2023/1/6數字圖控件(DigitalGraph)2023/1/6數字圖控件(DigitalGraph)2023/1/6圖片控件(Picture)2023/1/6圖片控件(Picture)2023/1/6樹形控件(Tree)2023/1/6樹形控件(Tree)2023/1/6定時器控件(Timer)畫布控件(Canvas)2023/1/6定時器控件(Timer)2023/1/6表格控件(Table)2023/1/6表格控件(Table)2023/1/6分隔控件(Splitter)2023/1/6分隔控件(Splitter)2023/1/6分頁控件(Tab)2023/1/6分頁控件(Tab)2023/1/6定制控件(CustomControl)2023/1/6定制控件(CustomControl)2023/1/6通用控件操作函數:GetCtrlValintGetCtrlVal(intPanel_Handle,intControl_ID,void*Value);GetCtrlVal(testPanelHandle,NUMERIC_VOL,&voltage);SetCtrlValintSetCtrlVal(intPanel_Handle,intControl_ID,...);SetCtrlVal(testPanelHandle,NUMERIC_VOL,5.0);GetCtrlAttributeintGetCtrlAttribute(intPanel_Handle,intControl_ID,intControl_Attribute,void*Attribute_Value);GetCtrlAttribute(testPanelHandle,NUMERIC_VOL,ATTR_CTRL_VAL,&voltage);SetCtrlAttributeintSetCtrlAttribute(intPanel_Handle,intControl_ID,intControl_Attribute,...);SetCtrlAttribute(testPanelHandle,NUMERIC_VOL,ATTR_CTRL_VAL,5.0);2023/1/6通用控件操作函數:2023/1/6特定控件操作函數:列表控件函數文本框控件函數圖形控件函數定時器控件函數表格控件函數……5.用戶界面管理:RunUserInterfaceintRunUserInterface(void);QuitUserInterfaceintQuitUserInterface(intReturn_Code);QuitUserInterface(0);2023/1/6特定控件操作函數:2023/1/66.圖形界面設計舉例菜單的制作用StripChart顯示一組隨機數定時溫度采集顯示2023/1/66.圖形界面設計舉例2023/1/6ActiveX控件ActiveX技術簡介ActiveX技術是指寬松定義的、基于組件對象模型(COM)的技術集合。它是基于已經存在的OLE(對象鏈接與嵌入)技術,通過把桌面系統“對象共享”的范圍擴展到整個Internet,以使得構造這類新應用程序成為可能。COM定義了創建、配置和使用ActiveX應用程序的規則。它是一個二進制標準,包含了一系列規則,目的是構建與語言無關的,面向對象的應用程序。2023/1/6ActiveX控件ActiveX技術簡介2023/1/6ActiveX可以用來開發能在不同的開發環境中重復使用的組件。下面是其中的一些技術:ActiveX自動化——在一個程序中自動操作另一個程序。例如,在測試程序中,可以使用ActiveX自動化使LabWindows/CVI程序中在后臺操作MicrosoftWord,生成帶有圖形和表格并顯示不同字體的測試報告。ActiveX控件——在外部程序中使用獨立的交互式對象。例如,可以在容器中(如LabWindows/CVI的面板)嵌入并使用一個MicrosoftCalendar控件或者MeasurementStudio3DGraph控件。ActiveX文檔——在容器中(如LabWindows/CVI的面板)查看文檔。例如,可以把一個MicrosoftWord文檔或Excel電子表格放在LabWindows/CVI的面板中顯示。2023/1/6ActiveX可以用來開發能在不同的開發環境2023/1/6ActiveX控件ActiveX控件是LabWindows/CVI的外部組件,可以象LabWindows/CVI的內部控件一樣使用。設計帶有ActiveX控件的程序選擇ActiveX控件:在UIR窗口選擇Creat>>ActiveX,選擇CreatControl選項,在ActiveX控件列表中選擇需要的ActiveX控件,單擊OK按鈕。設置ActiveX控件屬性:雙擊ActiveX控件,也可以點擊編輯控件對話框中的“PropertySheets”按鈕,編輯控件特性頁。

2023/1/6ActiveX控件2023/1/6生成ActiveX控件驅動程序:在Tools菜單,選擇CreateActiveXController,或右擊ActiveX控件選擇GenerateActiveXControlDriver,運行特定控件的ActiveX控制器向導,完成之后生成.fp文件。在使用.fp中的函數之前,用GetObjHandleFromActiveXCtrl函數獲得ActiveX控件句柄。設計舉例(媒體播放器)2023/1/6生成ActiveX控件驅動程序:在Tool2023/1/6變量、函數、參數名稱的命名建議名稱要有意義,使用單詞或縮寫不易過長,不要超過40個字符,20個以內為宜宏定義:全部用大寫字母,字符之間用下劃線分隔,如:

#defineCHANNEL_NUMBER 10;變量名和函數參數名:第一個單詞全用小寫,其余單詞詞首大寫,其余用小寫,如:

intbufferSize; doubledSampRate;函數名:每個單詞開頭字母大寫,其余用小寫,如:

double

ReadCVT(intchNumber) intSetStopFrequency(doublestopFrequency)2023/1/6變量、函數、參數名稱的命名建議2023/1/6圖形用戶界面設計圖形用戶界面(GraphicalUserInterface)面板(panel)菜單條(menubar)控件(control)LabWindows/CVI自定義的資源格式面板設計其它資源的容器面板屬性編輯器使用用戶界面設計函數創建面板和改變面板屬性2023/1/6圖形用戶界面設計圖形用戶界面(Graphic2023/1/6面板(panel)2023/1/6面板(panel)2023/1/6面板編輯窗口2023/1/6面板編輯窗口2023/1/6面板操作函數:NewPanel 創建面板intNewPanel(intParent_Panel_Handle,charPanel_Title[],intPanel_Top,intPanel_Left,intPanel_Height,intPanel_Width);testPanelHandle=NewPanel(0,"新面板",10,10,200,300);LoadPanel 載入面板intLoadPanel(intParent_Panel_Handle,charFilename[],intPanel_Resource_ID);testPanelHandle=LoadPanel(0,"test.uir",PANEL_TEST);

DisplayPanel 顯示面板intDisplayPanel(intPanel_Handle);DisplayPanel(testPanelHandle);DiscardPanel 釋放面板intDiscardPanel(intPanel_Handle)DiscardPanel(testPanelHandle);2023/1/6面板操作函數:2023/1/6HidePanel 隱藏面板intHidePanel(intPanel_Handle);HidePanel(testPanelHandle);GetPanelAttribute 獲取面板屬性intGetPanelAttribute(intPanel_Handle,intPanel_Attribute,void*Attribute_Value);GetPanelAttribute(testPanelHandle,ATTR_BACKCOLOR,&color);SetPanelAttribute 設置面板屬性intSetPanelAttribute(intPanel_Handle,intPanel_Attribute,...);SetPanelAttribute(testPanelHandle,ATTR_BACKCOLOR,VAL_RED);SavePanelState 保存面板狀態RacallPanelState 調出面板狀態……2023/1/6HidePanel 隱藏面板2023/1/6彈出式面板(Pop-upPanel)2023/1/6彈出式面板(Pop-upPanel)2023/1/6彈出式面板(Pop-upPanel)2023/1/6彈出式面板(Pop-upPanel)2023/1/6彈出式面板函數(Pop-upPanel)InstallPopup

載入彈出式面板intInstallPopup(intPanel_Handle);InstallPopup(testPanelHandle);RemovePopup

刪除彈出式面板intRemovePopup(intRemove_Popup);RemovePopup(0);MessagePopup

輸出信息對話框intMessagePopup(charTitle[],charMessage[]);MessagePopup("提示信息","測試結束,全部合格");ConfirmPopup

等待確認對話框YesorNointConfirmPopup(charTitle[],charMessage[]);response=ConfirmPopup("測試信息","測量錯誤,是否繼續?");PromptPopup

等待輸入字符信息對話框intPromptPopup(charTitle[],charMessage[],charResponse_Buffer[],intMax_Response_Length);PromptPopup("輸入信息","請輸入姓名",&name,20);2023/1/6彈出式面板函數(Pop-upPanel)2023/1/6FileSelectPopupintFileSelectPopup(charDefault_Directory[],charDefault_File_Spec[],charFile_Type_List[],charTitle[],intButton_Label,intRestrict_Directory?,intRestrict_Extension?,intAllow_Cancel?,intAllow_Make_Directory?,charPath_Name[]);i=FileSelectPopup("c:\\vxipnp","*.txt","*.*","選擇數據文件",VAL_LOAD_BUTTON,0,0,1,0,filename);DirSelectPopupintDirSelectPopup(charDefault_Directory[],charTitle[],intAllow_Cancel?,intAllow_Make_Directory?,charPath_Name[]);i=DirSelectPopup("c:\\vxipnp","SelectDirectory",1,1,&pathname);WaveformGraphPopupintWaveformGraphPopup(charTitle[],void*Y_Array,intNumber_of_Points,intY_Data_Type,doubleY_Gain,doubleY_Offset,doubleInitial_X,doubleX_Increment);WaveformGraphPopup("測量波形",testdata,1024,VAL_DOUBLE,1.0,0.0,0.0,1.0);2023/1/6FileSelectPopup2023/1/6菜單條設計簡易菜單條和定制菜單條菜單制作和編輯器使用用戶界面函數創建和編輯菜單2023/1/6菜單條設計2023/1/6菜單編輯窗口2023/1/6菜單編輯窗口2023/1/6菜單操作函數:LoadMenuBarintLoadMenuBar(intDestination_Panel_Handle,charFilename[],intMenu_Bar_Resource_ID);mainMenuHandle=LoadMenuBar(testPanelHandle,"test.uir",MAIN_MENU);DiscardMenuBarintDiscardMenuBar(intMenu_Bar_Handle);DiscardMenuBar(mainMenuHandle);NewMenuBarintNewMenuBar(intDestination_Panel_Handle);mainMenuHandle=NewMenuBar(testPanelHandle);NewMenuintNewMenu(intMenu_Bar_Handle,charMenu_Name[],intBefore_Menu_ID);menuFileID=NewMenu(mainMenuHandle,"文件",-1);2023/1/6菜單操作函數:2023/1/6NewMenuItemintNewMenuItem(intMenu_Bar_Handle,intMenu_ID,charItem_Name[],intBefore_Menu_Item_ID,intShort_Cut_Key,MenuCallbackPtrEvent_Function,void*Event_Callback_Data);&menuFileOpenID=NewMenuItem(mainMenuHandle,menuFileID,"打開...",-1,0,FileOpen,0);NewSubMenuintNewSubMenu(intMenu_Bar_Handle,intMenu_Item_ID);menuFileOpenID=NewSubMenu(mainMenuHandle,menuFileID);

DiscardMenuDiscardSubMenuDiscardMenuItem……2023/1/62023/1/6

控件設計控件種類:數值型(Numeric):數值控件,顏色選擇控件,數值滑動條2023/1/6控件設計2023/1/6文本型(Text):字符串控件,文本信息,文本框2023/1/6文本型(Text):字符串控件,文本信息,文2023/1/6命令按鈕(CommandButton):命令按鈕,圖片按鈕雙態按鈕(ToggleButton):雙態按鈕,文本/圖形按鈕,單選/復選控件2023/1/6命令按鈕(CommandButton):命2023/1/6指示等(LED)二值開關(BinarySwitch)2023/1/6指示等(LED)2023/1/6列表控件(Ring):下拉列表,滑動列表,圖形列表2023/1/6列表控件(Ring):下拉列表,滑動列表,圖2023/1/6列表框(ListBox)裝飾控件(Decoration)2023/1/6列表框(ListBox)2023/1/6圖形控件(Graph):曲線圖控件,帶狀圖控件,數字圖控件曲線圖控件(Graph)2023/1/6圖形控件(Graph):曲線圖控件,帶狀圖控2023/1/6帶狀圖控件(StripChart)2023/1/6帶狀圖控件(StripChart)2023/1/6數字圖控件(DigitalGraph)2023/1/6數字圖控件(DigitalGraph)2023/1/6圖片控件(Picture)2023/1/6圖片控件(Picture)2023/1/6樹形控件(Tree)2023/1/6樹形控件(Tree)2023/1/6定時器控件(Timer)畫布控件(Canvas)2023/1/6定時器控件(Timer)2023/1/6表格控件(Table)2023/1/6表格控件(Table)2023/1/6分隔控件(Splitter)2023/1/6分隔控件(Splitter)2023/1/6分頁控件(Tab)2023/1/6分頁控件(Tab)2023/1/6定制控件(CustomControl)2023/1/6定制控件(CustomControl)2023/1/6通用控件操作函數:GetCtrlValintGetCtrlVal(intPanel_Handle,intControl_ID,void*Value);GetCtrlVal(testPanelHandle,NUMERIC_VOL,&voltage);SetCtrlValintSetCtrlVal(intPanel_Handle,intControl_ID,...);SetCtrlVal(testPanelHandle,NUMERIC_VOL,5.0);GetCtrlAttributeintGetCtrlAttribute(intPanel_Handle,intControl_ID,intControl_Attribute,void*Attribute_Value);GetCtrlAttribute(testPanelHandle,NUMERIC_VOL,ATTR_CTRL_VAL,&voltage);SetCtrlAttributeintSetCtrlAttribute(intPanel_Handle,intControl_ID,intControl_Attribute,...);SetCtrlAttribute(testPanelHandle,NUMERIC_VOL,ATTR_CTRL_VAL,5.0);2023/1/6通用控件操作函數:2023/1/6特定控件操作函數:列表控件函數文本框控件函數圖形控件函數定時器控件函數表格控件函數……5.用戶界面管理:RunUserInterfaceintRunUserInterface(void);QuitUserInterfaceintQuitUserInterface(intReturn_Code);QuitUserInterface(0);2023/1/6特定控件操作函數:2023/1/66.圖形界面設計舉例菜單的制作用StripChart顯示一組隨機數定時溫度采集顯示2023/1/66.圖形界面設計舉例2023/1/6ActiveX控件ActiveX技術簡介ActiveX技術是指寬松定義的、基于組件對象模型(COM)的技術集合。它是

溫馨提示

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

評論

0/150

提交評論