ucgui按键工作的流程

来源:互联网 发布:灰度共生矩阵14个特征 编辑:程序博客网 时间:2024/06/16 06:10

应用层 函数GUIDEMO_WaitKey()返回了被按下BUTTON的ID,下面分析其中的流程。

GUIDEMO_WaitKey()调用GUI_GetKey()获取全局变量_Key.

函数GUI_TOUCH_Exec()定期执行,会调用触摸屏读坐标函数,获取触控状态,也就是一个点以及该点是否被按下

typedef struct {
  int x,y;
  unsigned char Pressed;
} GUI_PID_STATE;

static GUI_PID_STATE _State;

应用层函数GUI_TOUCH_GetState(&State)就是读取_State获取触摸屏的触控状态。

函数WM_ExecIdle()定期执行,调用WM_pfHandlePID(),读取上述_State的值,操作按键时,则判断改触控点属于该按键控件,调用WM__SendTouchMessage(CHWin.hWin, &Msg)向按键发WM_TOUCH消息,在BUTTON的回调函数中调用 _OnTouch(hObj, pObj, pMsg)函数,调用 _ButtonReleased(hObj, pObj, WM_NOTIFICATION_RELEASED)函数,调用GUI_StoreKey(pObj->Widget.Id),最终改变全局变量_Key。




原创粉丝点击