在Labwindows中,如何判断一个“按键”发生了“按下”事件?
1个回答
展开全部
按键的 按下事件是 "EVENT_KEYPRESS”,看你是需要在什么条件下。
如果实在主面板PANEL下,那么就在面板PANEL的回调函数中添加就可以了。
如果实在主面板PANEL下,那么就在面板PANEL的回调函数中添加就可以了。
更多追问追答
追问
我的具体情况是这样的:我用NewCtrol函数生成一个按钮,然后想判断当这个按钮被按下,就执行某操作。或者我还有一种方案,就是按下按钮后执行另一函数,这就需要给这个函数成为新生成的按钮的回调函数,我查到CVI中提供了一个函数,是int InstallCtrlCallback (int panelHandle, int controlID, CtrlCallbackPtr eventFunction, void *callbackData);但是我不知道第三个参数怎么来填,填入函数名,总提示出错。
追答
首先,你要创建一个符合CtrlCallbackPtr类型的函数,然后在该参数的地方用函数名。
例如:
1、先创建一个
int CVICALLBACK EventFunctionName (int panelHandle, int controlID, int event, void *callbackData, int eventData1, int eventData2)
{
switch (event)
{
case EVENT_COMMIT:
break;
}
return 0;
}
2、然后 你在InstallCtrlCallback (panelHandle, NewCtrlID, EventFunctionName, 0); EventFunctionName是你创建函数的函数名。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询