CVI有消息机制么

CVI有消息机制么,第1张

windows程序的运行是基于消息机制的,用户通过鼠标、键盘等输入自己的意向,然后这些意向以消息的形式被发送给软件,软件根据消息做出响应。
每个windows程序线程,都有一个消息循环。程序在消息循环中等待消息,然后翻译消息,并把消息发送出去。所谓的将消息发送出去,就是让系统调用相应的窗口回调函数来处理消息。
很多软件开发平台都把这一过程给封装了起来,用户自己不需要处理。
Labwindows/CVI就是其中之一。CVI将windows消息的响应和处理全部封装起来,CVI的用户其实可以不用知道windows消息机制,就可以开发出自己想要的软件。
CVI将消息的响应和处理封装起来后,却给用户留下了它独特的事件机制。用户在使用CVI开发软件的时候,一般只需要根据CVI的事件来做相应的响应,而一般都不需要直接处理windows消息。当然,如果确实有这么一个需要,CVI也保留了这一功能。
CVI封装的事件机制:
RunUserInterface (); // 此函数相当于 Windows API 的消息循环,一般在CVI的MAIN函数中运行。
// 比如下面是CVI面板回调函数
int CVICALLBACK QuitCB (int panel, int event, void callbackData,
int eventData1, int eventData2)
{
switch (event)
{
case EVENT_CLOSE:
// 执行相关代码。
QuitUserInterface (0);
break;
}
return 0;
}
当单击窗口的X号时通过RunUserInterface ()事件处理函数,就会调用QuitCB()回调函数,此时鼠标单击X的事件就会通过QuitCB()函数的event参数传入,由case EVENT_CLOSE:来处理此事件,完成退出 *** 作。实际这个过程就是CVI 完全对windows的消息做的封装。
你也完全可以用PostMessage(hWnd,WM_USER_MESSAGE,wParam,0); 的方式发送消息,
用,
InstallWinMsgCallback (panelHandle, WM_USER_MESSAGE, MsgCallback, VAL_MODE_IN_QUEUE, NULL,(int )&hwnd );
安装一个消息处理函数,在
MsgCallback 函数中处理自定义消息。

以上就是关于CVI有消息机制么全部的内容,包括:CVI有消息机制么、、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9454350.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存