精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

CHANBAEK ? 來(lái)源:小陳是個(gè)工程師 ? 作者:xiaoxiaodawei ? 2023-01-16 14:21 ? 次閱讀

上期對(duì)LABwindows/CVI建立的學(xué)生管理器的UI界面中的控件進(jìn)行編程,但是沒(méi)有做回調(diào)處理,這期主要對(duì)其中控件進(jìn)行回調(diào)函數(shù)的設(shè)計(jì)!

關(guān)鍵詞:回調(diào)函數(shù);

01回調(diào)函數(shù)

1.1、主函數(shù)

main函數(shù)是用戶(hù)程序運(yùn)行時(shí)首先被執(zhí)行的函數(shù)。main函數(shù)實(shí)現(xiàn)的功能分別是CVI運(yùn)行引擎初始化(InitCVIRTE函數(shù))、加載面板(LoadPanel函數(shù))、顯示面板(DisplayPanel函數(shù))、開(kāi)始消息隊(duì)列循環(huán)(RunUserInterface函數(shù))。其中RunUserInterface會(huì)不斷的檢查面板的消息或者操作系統(tǒng)發(fā)送的消息,永遠(yuǎn)不會(huì)返回,除非用戶(hù)主動(dòng)調(diào)用QuitUserInterface函數(shù)中止消息循環(huán)。所以,正常運(yùn)行狀態(tài)下,main函數(shù)中的DiscardPanel永遠(yuǎn)不會(huì)被執(zhí)行,main函數(shù)永遠(yuǎn)不會(huì)退出,直到程序被關(guān)閉,主函數(shù)如下。

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、回調(diào)函數(shù)一

MainCallBack是我們?cè)诿姘鍖傩跃庉嬁蛑刑顚?xiě)的Callback Function的名字,負(fù)責(zé)執(zhí)行主程序面板消息的響應(yīng)代碼。在switch語(yǔ)句中,我們可以看到,CVI已經(jīng)事先為我們生成好了三個(gè)面板最常用的事件:EVENT_GOT_FOCUS、EVENT_LOST_FOCUS以及EVENT_CLOSE。分別在對(duì)應(yīng)的case中添加代碼,即可在窗口被激活、窗口失活、以及點(diǎn)擊窗口右上角“關(guān)閉”按鈕時(shí)執(zhí)行的代碼。callbackData表示消息發(fā)出時(shí)所附帶的數(shù)據(jù)。可是eventData1以及eventData2卻容易讓初學(xué)者云里霧里。其實(shí)我們只需要選中任意case語(yǔ)句中的事件(此處可以選擇EVENT_GOT_FOCUS),右擊選擇Go To Defination之后即可發(fā)現(xiàn),CVI User Interface的事件定義全在這里。對(duì)eventData1以及eventData2的說(shuō)明,也在定義的注釋中有所說(shuō)明。

在此,為了讓用戶(hù)點(diǎn)擊程序右上角的關(guān)閉按鈕時(shí),程序可以順利關(guān)閉,在case EVENT_CLOSE語(yǔ)句后面添加QuitUserInterface函數(shù):

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、回調(diào)函數(shù)二

這個(gè)函數(shù)響應(yīng)五個(gè)鍵的功能,代碼如下。

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運(yùn)行模式

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

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

在CVI代碼編輯窗口中單擊代碼前空白部分或者按F9按鍵,則可以在對(duì)應(yīng)的C語(yǔ)言語(yǔ)句處設(shè)置斷點(diǎn)。

在程序中斷時(shí),單擊菜單Window即可控制開(kāi)啟或關(guān)閉 Memory (內(nèi)存)、 Variables (變量)、 Watch(監(jiān)控)窗口,通過(guò)查看或者修改對(duì)應(yīng)的參數(shù)的值來(lái)方便的調(diào)試程序。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • LabWindows
    +關(guān)注

    關(guān)注

    15

    文章

    62

    瀏覽量

    47928
  • 管理器
    +關(guān)注

    關(guān)注

    0

    文章

    242

    瀏覽量

    18493
  • CVI
    CVI
    +關(guān)注

    關(guān)注

    9

    文章

    41

    瀏覽量

    22181
  • 回調(diào)函數(shù)
    +關(guān)注

    關(guān)注

    0

    文章

    87

    瀏覽量

    11543
  • ui界面
    +關(guān)注

    關(guān)注

    0

    文章

    11

    瀏覽量

    1569
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    關(guān)于LabWindows/CVI和Labview

    最近在學(xué)習(xí)LabWindows/CVI,想找個(gè)學(xué)習(xí)網(wǎng)站,最后就找到了這個(gè)Labview的網(wǎng)站,不知道有沒(méi)有人用LabWindows/CVI,二者有什么區(qū)別,那個(gè)功能更強(qiáng)大呢?
    發(fā)表于 07-04 15:49

    美國(guó)國(guó)家儀器(NI)軟件Labview,Labwindows cvi,Motion,Vision,DAQ開(kāi)發(fā)與培訓(xùn)

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

    采用LabWindows CVI的飛行模擬應(yīng)用

    載體,以LabWindowsCVI為開(kāi)發(fā)環(huán)境,主要面向學(xué)生演示飛機(jī)的飛行的姿態(tài)(縱向、升降、傾向、俯仰、橫滾和航向)以及飛行過(guò)程中各種儀器儀表的變化,使學(xué)生對(duì)飛機(jī)的飛行原理以及駕駛技
    發(fā)表于 07-12 07:37

    一種LabWindows/CVI與MATLAB混合編程的實(shí)現(xiàn)

    Labwindows/CVI 是一套面向測(cè)控領(lǐng)域的優(yōu)秀軟件開(kāi)發(fā)平臺(tái);MATLAB 具有強(qiáng)大的數(shù)據(jù)處理函數(shù)庫(kù)和多樣且簡(jiǎn)易的繪圖方法。本文提出的修改LabWindows/
    發(fā)表于 06-24 09:29 ?52次下載

    LabWindows/CVI基礎(chǔ)教程

    LabWindows/CVI基礎(chǔ)教程:LabWindows/CVI是National Instruments公司推出的一套面向測(cè)控領(lǐng)域的軟件
    發(fā)表于 07-23 08:22 ?0次下載

    基于多CPU和LabWindows/CVI 的行車(chē)記錄儀系統(tǒng)

    介紹基于多CPU 和LabWindows/CVI 的行車(chē)記錄儀系統(tǒng),闡述了主機(jī)的硬件和軟件的設(shè)計(jì)方法和數(shù)據(jù)分析軟件的實(shí)現(xiàn)。
    發(fā)表于 08-31 17:40 ?142次下載

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

    NI LabWindows/CVI 8.0 (電子測(cè)量): NI LabWindows CVI 8.0 最新完整版,專(zhuān)業(yè)強(qiáng)大的用于測(cè)試、測(cè)量與控制開(kāi)發(fā)
    發(fā)表于 01-26 09:36 ?883次下載
    <b class='flag-5'>cvi</b> 8.0 下載 (NI <b class='flag-5'>LabWindows</b> 電子測(cè)量)

    NI宣布推出ANSI C開(kāi)發(fā)環(huán)境LabWindows/CVI

    NI 宣布推出ANSI C開(kāi)發(fā)環(huán)境LabWindows/CVI 2009  美國(guó)國(guó)家儀器有限公司(National Instruments,簡(jiǎn)稱(chēng)NI)近日宣布推出LabWindows/CVI
    發(fā)表于 01-16 10:27 ?1082次閱讀

    LabWindows_CVI多線(xiàn)程技術(shù)在油門(mén)測(cè)試軟件中的應(yīng)用_倪

    LabWindows_CVI多線(xiàn)程技術(shù)在油門(mén)測(cè)試軟件中的應(yīng)用_倪笑宇
    發(fā)表于 01-13 21:40 ?3次下載

    LabWindows教程之LabWindows CVI的虛擬儀器設(shè)計(jì)與應(yīng)用教材免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是LabWindows教程之LabWindows CVI的虛擬儀器設(shè)計(jì)與應(yīng)用教材免費(fèi)下載。 本書(shū)詳盡、系統(tǒng)地介紹了NI公司推出的一種虛擬儀器軟件設(shè)計(jì)平臺(tái)——
    發(fā)表于 12-03 08:00 ?153次下載

    LabWindows CVI在USB2. 0接口數(shù)據(jù)采集在開(kāi)發(fā)中的應(yīng)用

    文章介紹了虛擬儀器軟件LabWindows/CVI在USB2. 0接口數(shù)據(jù)采集中的應(yīng)用, 闡述了利用LabWindows/
    發(fā)表于 07-02 15:37 ?28次下載
    <b class='flag-5'>LabWindows</b> <b class='flag-5'>CVI</b>在USB2. 0接口數(shù)據(jù)采集<b class='flag-5'>器</b>在開(kāi)發(fā)中的應(yīng)用

    Labwindows CVI的簡(jiǎn)介說(shuō)明

    CVI全稱(chēng)LabWindows/CVI,是一個(gè)用于測(cè)試和測(cè)量的ANSI C開(kāi)發(fā)環(huán)境,使用CVI編寫(xiě)測(cè)控軟件,能夠極大地提高工程師和科學(xué)家們的
    發(fā)表于 03-17 08:00 ?19次下載
    <b class='flag-5'>Labwindows</b> <b class='flag-5'>CVI</b>的簡(jiǎn)介說(shuō)明

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

      學(xué)習(xí)完鏈表就需要將其加以應(yīng)用,這期使用LABwindows/CVI創(chuàng)建一個(gè)學(xué)生管理器,其中用到了鏈表的知識(shí)以及LABwindows/
    的頭像 發(fā)表于 01-16 14:07 ?4898次閱讀
    使用<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'>學(xué)生</b><b class='flag-5'>管理器</b><b class='flag-5'>界面</b>(一)

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

    上期使用LABwindows/CVI這個(gè)軟件搭建學(xué)生管理器的UI
    的頭像 發(fā)表于 01-16 14:17 ?2923次閱讀

    LabWindows CVI基本學(xué)習(xí)教程

    本書(shū)主要介紹了LabWindows/CVI 6.0 下的C語(yǔ)言編程技術(shù)教程,主要內(nèi)容有: LabWindows/CVI 6.0 的集成開(kāi)發(fā)環(huán)境,面板、控件和菜單的設(shè)計(jì),交互式代碼生成,
    發(fā)表于 05-30 14:27 ?15次下載