专栏中心

EEPW首页 > 专栏 > LabWindows学习笔记(1)

LabWindows学习笔记(1)

发布人:mayer 时间:2009-05-18 来源:工程师 发布文章
LabWindows学习笔记(1)

1、控制两个模板,使用LoadPanel()得到想控制的模板,然后对相应的模板控制。显示用DisplayPanel (hscaledPanel),恋情DiscardPanel(panel)来释放模板。
2、如果只是显示,则可以用InstallPopup (panelHandle),来弹出模板。用RemovePopup (0);来删除模板。
3、从主模板到子模板,再从子模板的方法。而且要回来不出错:
(1)先用LoadPanel();打开相应的子模块。
(2)用DisplayPanel()显示打开的模板;
(3)从子模块回来,直接将模板释放。DiscardPanel(panel); 
4、对TEXTBOX控键,可以用ResetTextBox();直接来更新里面的文字。再则更石板的方法就是先用InsertTextBoxLine()写空文字(必须写),再用ReplaceTextBoxLine()来替换里面的文字。
5、将数值转化为文字可以用sprintf()和Fmt()
6、Toolbar_Discard (toolbar);    //释放工具栏
 Toolbar_Display (toolbar); //显示工具栏

时间:2008.3.5

一、动态连接库

BOOL __stdcall DllMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
     /* The DllMain function is called when ever the DLL is loaded and    */
     /* unloaded. Place Initialization code for the DLL in this function. */
    if (fdwReason == DLL_PROCESS_ATTACH) {
        /* Place any initialization which needs to be done when the DLL */
        /* is loaded here. */
        if (InitCVIRTE (hinstDLL, 0, 0) == 0)       /* needed if linking DLL in external compiler; harmless otherwise */
            return 0;   /* out of memory */
    }
    else if (fdwReason == DLL_PROCESS_DETACH) {
        /* Place any clean-up which needs to be done when the DLL */
        /* is unloaded here. */
        CloseCVIRTE ();     /* needed if linking DLL in external compiler; harmless otherwise */
    }
    /* return FALSE to abort if initialization fails */
    return TRUE;
}

BOOL __stdcall DllEntryPoint (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
    return DllMain(hinstDLL, fdwReason, lpvReserved);
}

void DLLEXPORT RunDllUI (void)  //这是自己编译的外部使用函数要以                                      //DLLEXPORT定义
{
    /* Call this function from the appropriate place in your code */
    /* to load and display startup panels.                        */
    biaoding.a = 0;
    biaoding.b = 0;
    panelHandle = LoadPanelEx (0, "sharcky.uir" , PANEL ,__CVIUserHInst);
   
    gToolbar=InstallToolBar(panelHandle);
    DisplayPanel (panelHandle);
    RunUserInterface ();
}
上面三个函数是必须要的。
2、在一个c语言程序当中要用到的头文件,都得写上。不然编译不了。
主函数中要连接外部程序时,必须有#include <cvirte.h>这个头文件。

3、GetNumTextBoxLines(panelHandle,PANEL_TEXTBOX,&num) //获取当前编辑框中的行数
   GetCtrlAttribute(panel,PANEL_TEXT,ATTR_STRING_TEXT_LENGTH,&length) //获取属性函数,此句用来获取当前文本框中字符的长度。
4、菜单控制
 (1)菜单属性获取用:GetMenuBarAttribute(),设置菜单属性用:SetMenuBarAttribute(),
(2)工具条属性用Toolbar_SetAttribute()设置,



5、时间控键使用
(1)属性设置:
     SetCtrlAttribute(panelHandle,PANEL_TIMER,ATTR_ENABLED,0); 设置时间控键开启、关闭(0为关闭,1为开启)
     SetCtrlAttribute(panelHandle,PANEL_TIMER,ATTR_INTERVAL,0);设置时间控键的少描间隔
6.设置程序运行时属性
//设置程序运行时属性,使其不在任务栏显示按钮
SetPanelAttribute (panelHandle, ATTR_HAS_TASKBAR_BUTTON, 0);
SetSystemAttribute (ATTR_TASKBAR_BUTTON_VISIBLE, 0);
//在系统退出时,卸载系统托盘,释放所占用的资源
DetachTrayIconMenu (iconhandle);
RemoveSysTrayIcon (iconhandle);
   
//装载一个灰度图标,并装载系统托盘回调函数
InstallSysTrayIcon ("hide.ico", "系统托盘", iconCB, &iconhandle);

//卸载系统托盘,释放所占用的资源
DetachTrayIconMenu (iconhandle);
RemoveSysTrayIcon (iconhandle);

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

电动汽车最让人焦虑的三件事,解决到哪一步了?

汽车电子 2026-04-08

零中频射频接收机技术

超声波扫描转换演示 OMAP3530 EVM

视频 2010-03-18

TPS40192 & TPS40193 社区视频

视频 2010-03-18

RF低噪声放大器的设计与稳定性分析2

TPA6130A 社区视频

视频 2010-03-17

DeepSeek V4发布前奏?已适配华为AI芯片

2026-04-09

ZigBee CC2480 社区视频

视频 2010-03-18

UPS的嬗变

liujt_ic 2003-02-27

兆讯恒达 MH1701 系列芯片全球首获 GSMA eSA IC 认证,筑牢全球连接安全基石

亚马逊下月启动新一轮裁员,涉及14000人

2026-04-09

限制级发布!最新AI模型Claude Mythos“过于危险”

2026-04-09

TPA5050 社区视频

视频 2010-03-17

雷达系统中的电源噪声:如何通过高抑制比设计优化射频转换器性能?

英特尔先进封装技术迎收获期 与谷歌亚马逊洽谈 AI 芯片封装合作

TMS320LF240x DSP应用程序设计教程

RF低噪声放大器的设计与稳定性分析1

2026年前两月集成电路产量同比增长12.4%

FCC拟扩大对中国电子设备测试的限制范围

RF低噪声放大器的设计与稳定性分析3

Bourns 扩展其业界领先的连接器模块产品组合 推出 5A、6A 与 8A 新品

更多 培训课堂
更多 焦点
更多 视频

技术专区