在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

使用LABwindows/CVI軟件搭建學生管理器界面(三)

CHANBAEK ? 來源:小陳是個工程師 ? 作者:xiaoxiaodawei ? 2023-01-16 14:21 ? 次閱讀

上期對LABwindows/CVI建立的學生管理器的UI界面中的控件進行編程,但是沒有做回調處理,這期主要對其中控件進行回調函數的設計!

關鍵詞:回調函數;

01回調函數

1.1、主函數

main函數是用戶程序運行時首先被執行的函數。main函數實現的功能分別是CVI運行引擎初始化(InitCVIRTE函數)、加載面板(LoadPanel函數)、顯示面板(DisplayPanel函數)、開始消息隊列循環(RunUserInterface函數)。其中RunUserInterface會不斷的檢查面板的消息或者操作系統發送的消息,永遠不會返回,除非用戶主動調用QuitUserInterface函數中止消息循環。所以,正常運行狀態下,main函數中的DiscardPanel永遠不會被執行,main函數永遠不會退出,直到程序被關閉,主函數如下。

int main (int argc, char *argv[])
{if
(InitCVIRTE (0, argv, 0) == 0)
 return -1;                                        /* out
of memory */
 if
((panelHandle = LoadPanel (0, "show.uir", PANEL)) < 0)
 return -1;
 DisplayPanel(panelHandle);
 RunUserInterface();
 DiscardPanel(panelHandle);
 return 0;}

1.2、回調函數一

MainCallBack是我們在面板屬性編輯框中填寫的Callback Function的名字,負責執行主程序面板消息的響應代碼。在switch語句中,我們可以看到,CVI已經事先為我們生成好了三個面板最常用的事件:EVENT_GOT_FOCUS、EVENT_LOST_FOCUS以及EVENT_CLOSE。分別在對應的case中添加代碼,即可在窗口被激活、窗口失活、以及點擊窗口右上角“關閉”按鈕時執行的代碼。callbackData表示消息發出時所附帶的數據。可是eventData1以及eventData2卻容易讓初學者云里霧里。其實我們只需要選中任意case語句中的事件(此處可以選擇EVENT_GOT_FOCUS),右擊選擇Go To Defination之后即可發現,CVI User Interface的事件定義全在這里。對eventData1以及eventData2的說明,也在定義的注釋中有所說明。

在此,為了讓用戶點擊程序右上角的關閉按鈕時,程序可以順利關閉,在case EVENT_CLOSE語句后面添加QuitUserInterface函數:

int CVICALLBACK MainCallBack (int panel, int
event, void *callbackData,
   int eventData1, int eventData2)
{
 switch(event)
 {
 case EVENT_GOT_FOCUS:break;
 case EVENT_LOST_FOCUS:break;
 case EVENT_CLOSE:
 QuitUserInterface(0);break;
 }
 return 0;
}

1.3、回調函數二

這個函數響應五個鍵的功能,代碼如下。

int CVICALLBACK MainPanelBtnCallback (int panel, int control, int event,void *callbackData, int eventData1, int eventData2)
{
 switch(event)
 {
 case EVENT_COMMIT:
 switch(control)
 {   
 char Name[20] = {0};int Number = 0;
 case PANEL_BTN_Add:             //增加
 Creat();break;
 case PANEL_BTN_Delete:     //刪除
 delet(Head); break;
 case PANEL_BTN_Show:      //顯示
 print (Head);break;
 case PANEL_BTN_insert:      //插入
 insert (Head);break;
 case PANEL_BTN_Change:    //更改
 change (Head);
 break;
 }
 break;
 }
 return 0;
}

02運行模式

點擊菜單 Run-Debug Project (或點擊工具欄的綠色三角形按鈕)即可直接編譯并運行當前工程,同時也可以在工程所在目錄下生成exe文件。

右擊工程名并選擇Build(或點擊菜單 Build-Create Debuggable Executable)即可編譯并生成exe文件。

在CVI代碼編輯窗口中單擊代碼前空白部分或者按F9按鍵,則可以在對應的C語言語句處設置斷點。

在程序中斷時,單擊菜單Window即可控制開啟或關閉 Memory (內存)、 Variables (變量)、 Watch(監控)窗口,通過查看或者修改對應的參數的值來方便的調試程序。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • LabWindows
    +關注

    關注

    15

    文章

    62

    瀏覽量

    47953
  • 管理器
    +關注

    關注

    0

    文章

    246

    瀏覽量

    18505
  • CVI
    CVI
    +關注

    關注

    9

    文章

    41

    瀏覽量

    22194
  • 回調函數
    +關注

    關注

    0

    文章

    87

    瀏覽量

    11561
  • ui界面
    +關注

    關注

    0

    文章

    11

    瀏覽量

    1573
收藏 人收藏

    評論

    相關推薦

    關于LabWindows/CVI和Labview

    最近在學習LabWindows/CVI,想找個學習網站,最后就找到了這個Labview的網站,不知道有沒有人用LabWindows/CVI,二者有什么區別,那個功能更強大呢?
    發表于 07-04 15:49

    美國國家儀器(NI)軟件Labview,Labwindows cvi,Motion,Vision,DAQ開發與培訓

    開發8)Labview(Labwindows cvi)與第方接口(Dll,ActiveX,.Net)程序開發 9)Labview(Labwindows
    發表于 02-29 12:21

    采用LabWindows CVI的飛行模擬應用

    載體,以LabWindowsCVI為開發環境,主要面向學生演示飛機的飛行的姿態(縱向、升降、傾向、俯仰、橫滾和航向)以及飛行過程中各種儀器儀表的變化,使學生對飛機的飛行原理以及駕駛技
    發表于 07-12 07:37

    一種LabWindows/CVI與MATLAB混合編程的實現

    Labwindows/CVI 是一套面向測控領域的優秀軟件開發平臺;MATLAB 具有強大的數據處理函數庫和多樣且簡易的繪圖方法。本文提出的修改LabWindows/
    發表于 06-24 09:29 ?52次下載

    LabWindows/CVI基礎教程

    LabWindows/CVI基礎教程:LabWindows/CVI是National Instruments公司推出的一套面向測控領域的軟件
    發表于 07-23 08:22 ?0次下載

    基于多CPU和LabWindows/CVI 的行車記錄儀系統

    介紹基于多CPU 和LabWindows/CVI 的行車記錄儀系統,闡述了主機的硬件和軟件的設計方法和數據分析軟件的實現。
    發表于 08-31 17:40 ?142次下載

    cvi 8.0 下載 (NI LabWindows 電子測量)

    NI LabWindows/CVI 8.0 (電子測量): NI LabWindows CVI 8.0 最新完整版,專業強大的用于測試、測量與控制開發
    發表于 01-26 09:36 ?889次下載
    <b class='flag-5'>cvi</b> 8.0 下載 (NI <b class='flag-5'>LabWindows</b> 電子測量)

    NI宣布推出ANSI C開發環境LabWindows/CVI

    NI 宣布推出ANSI C開發環境LabWindows/CVI 2009  美國國家儀器有限公司(National Instruments,簡稱NI)近日宣布推出LabWindows/CVI
    發表于 01-16 10:27 ?1091次閱讀

    LabWindows_CVI多線程技術在油門測試軟件中的應用_倪

    LabWindows_CVI多線程技術在油門測試軟件中的應用_倪笑宇
    發表于 01-13 21:40 ?3次下載

    LabWindows教程之LabWindows CVI的虛擬儀器設計與應用教材免費下載

    本文檔的主要內容詳細介紹的是LabWindows教程之LabWindows CVI的虛擬儀器設計與應用教材免費下載。 本書詳盡、系統地介紹了NI公司推出的一種虛擬儀器軟件設計平臺——
    發表于 12-03 08:00 ?155次下載

    LabWindows CVI在USB2. 0接口數據采集在開發中的應用

    文章介紹了虛擬儀器軟件LabWindows/CVI在USB2. 0接口數據采集中的應用, 闡述了利用LabWindows/
    發表于 07-02 15:37 ?29次下載
    <b class='flag-5'>LabWindows</b> <b class='flag-5'>CVI</b>在USB2. 0接口數據采集<b class='flag-5'>器</b>在開發中的應用

    Labwindows CVI的簡介說明

    CVI全稱LabWindows/CVI,是一個用于測試和測量的ANSI C開發環境,使用CVI編寫測控軟件,能夠極大地提高工程師和科學家們的
    發表于 03-17 08:00 ?19次下載
    <b class='flag-5'>Labwindows</b> <b class='flag-5'>CVI</b>的簡介說明

    使用LABwindows/CVI軟件搭建學生管理器界面(一)

      學習完鏈表就需要將其加以應用,這期使用LABwindows/CVI創建一個學生管理器,其中用到了鏈表的知識以及LABwindows/
    的頭像 發表于 01-16 14:07 ?5074次閱讀
    使用<b class='flag-5'>LABwindows</b>/<b class='flag-5'>CVI</b><b class='flag-5'>軟件</b><b class='flag-5'>搭建</b><b class='flag-5'>學生</b><b class='flag-5'>管理器</b><b class='flag-5'>界面</b>(一)

    使用LABwindows/CVI軟件搭建學生管理器界面(二)

    上期使用LABwindows/CVI這個軟件搭建學生管理器的UI
    的頭像 發表于 01-16 14:17 ?3012次閱讀

    LabWindows CVI基本學習教程

    本書主要介紹了LabWindows/CVI 6.0 下的C語言編程技術教程,主要內容有: LabWindows/CVI 6.0 的集成開發環境,面板、控件和菜單的設計,交互式代碼生成,
    發表于 05-30 14:27 ?15次下載
    主站蜘蛛池模板: 韩国r天堂| 亚洲第一在线| 婷婷六月久久综合丁香一二| 色多多18免费观看| 俺要色| 久草免费色站| 最新版天堂资源中文官网| 欧美日韩在线成人看片a| 好色999| 午夜免费视频| 看黄网站在线| 中文字幕欧美成人免费| 免费高清特级毛片| aⅴ天堂| 欧美性猛交xxxx乱大交中文| 亚洲人成电影在线观看网| 四虎影视在线影院4hutv| 欧美一级片在线视频| 国产美女特级嫩嫩嫩bbb| 国产资源网| 亚洲精品成人a在线观看| 国产精品二区三区免费播放心| 国产夜夜操| 午夜丁香婷婷| 1314亚洲人成网站在线观看| 国产小视频在线看| 在线播放一区二区三区| 国产成人毛片毛片久久网| 五月婷婷六月丁香在线| 色丁香婷婷| 天天操天天干天天射| 99精品热视频| 国产精品网址你懂的| 看黄网站在线| 美女视频黄又黄又免费高清| 精品久草| 视频一区日韩| 欧美一级第一免费高清| 亚洲区免费| 久久久精品免费视频| 五月激情视频|