原创 第6节 LabWindows学习笔记

2009-5-15 23:33 6106 16 16 分类: 软件与OS 文集: Labwindows技术板块
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); //显示工具栏
一、动态连接库
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 这个头文件。
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);

作者: sharcky, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-221763.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

文章评论0条评论)

登录后参与讨论
我要评论
0
16
关闭 站长推荐上一条 /2 下一条