前文说到了事情结构,细心研究会发现要搞清楚也不是很简单.
labwindows是典型的事情驱动编程办法,它是通过界说回调函数完成的(回调函数是WINDOWS编程的根本办法),WINDOWS能够检测到体系的各类事情,比方画面上一个按钮按下了,假如在DOS年代或许LV6.1曾经,是需求用户在程序中轮巡查看的(POLLING MODE),这样,咱们的程序实践是两部分,一是要查看产生了什么,而是要决议假如产生了,咱们要怎么呼应.通过事情驱动办法,产生什么的问题已经由操作体系管理了,咱们要做的仅仅怎么呼应的问题,这样就极大的减轻的咱们的工作量.
看看LABWIDNOWS的回调函数的办法,有助于更好地舆解事情驱动的办法.
nt CVICALLBACKxxx(int panel, int control, int event,void *callbackData, int eventData1, int eventData2)
int panel——————体系告诉咱们哪个面板产生了事情
int control—————-体系告诉咱们详细哪个控件产生了事情
int event——————体系告诉咱们产生的是那一类事情,鼠标,键盘等
void *callbackData———传递一个杂乱的数据结构指针(LV中新添加的回凋函数功用用到了它)
int eventData1,int eventData2—事情产生体系回传的数据,不同的事情有不同的意义,一般关于鼠标操作,代表的是
X,Y坐标
咱们在看看Labview中的事情结构界说:
前文说到了事情结构,细心研究会发现要搞清楚也不是很简单.
labwindows是典型的事情驱动编程办法,它是通过界说回调函数完成的(回调函数是WINDOWS编程的根本办法),WINDOWS能够检测到体系的各类事情,比方画面上一个按钮按下了,假如在DOS年代或许LV6.1曾经,是需求用户在程序中轮巡查看的(POLLING MODE),这样,咱们的程序实践是两部分,一是要查看产生了什么,而是要决议假如产生了,咱们要怎么呼应.通过事情驱动办法,产生什么的问题已经由操作体系管理了,咱们要做的仅仅怎么呼应的问题,这样就极大的减轻的咱们的工作量.
看看LABWIDNOWS的回调函数的办法,有助于更好地舆解事情驱动的办法.
nt CVICALLBACKxxx(int panel, int control, int event,void *callbackData, int eventData1, int eventData2)
int panel——————体系告诉咱们哪个面板产生了事情
int control—————-体系告诉咱们详细哪个控件产生了事情
int event——————体系告诉咱们产生的是那一类事情,鼠标,键盘等
void *callbackData———传递一个杂乱的数据结构指针(LV中新添加的回凋函数功用用到了它)
int eventData1,int eventData2—事情产生体系回传的数据,不同的事情有不同的意义,一般关于鼠标操作,代表的是
X,Y坐标
咱们在看看Labview中的事情结构界说:
比照之下,能够看出,少了一个PANEL,所以LABVIEW的事情结构是归于一个面板的,那回来PANEL就没有意义了.
多了一个SOURCE和TIME,它们到底是代表什么那?
这是SOURCE界说的内容:LABVIEW把事情共分红四个类别,LABVIEW UI(用户接口界面),Activex,user event 和other
前文说到了USER EVENT,咱们大部分呼应的是LABVIEW用户接口界面的事情.
TIME代表的时刻是什么?通过试验咱们能够得出结论:
GetTickCount() 回来开机以来通过的毫秒数,这便是EVENT STRUCTURE中TIME的意义.
LABVIEW支撑的一切事情看下表