初级会员
- 积分
- 68
- 金钱
- 68
- 注册时间
- 2015-7-20
- 在线时间
- 12 小时
|
5金钱
请教一下大家,我使用的是EMWIN+UCOSIII,现在建立了一个窗口,为什么只有点击左上一下块区域才会发出WM_TOUCH消息,其他位置没该消息发出?本来打算做一个触摸校准界面,现在卡在这个地方了,请知道的大侠们给个思路或意见
代码如下:
static void _cbWindow1(WM_MESSAGE *pMsg)
{
GUI_RECT Rect;
GUI_PID_STATE pState;
OS_ERR err;
u16 usAdcX;
u16 usAdcY;
WM_HWIN hWin = pMsg->hWin;
switch(pMsg->MsgId)
{
case WM_PAINT:
WM_GetInsideRect(&Rect); //·μ»Ø¿í»§ÇøμÄ×ø±ê
GUI_SetBkColor(GUI_BACKCOLOR);
GUI_SetColor(GUI_BLACK);
GUI_ClearRectEx(&Rect);
GUI_DrawRectEx(&Rect);
GUI_SetColor(GUI_WHITE);
GUI_DrawRect(0, 0,LCDwidth-1,LCDheight-1);
GUI_DrawRect(0, 0,LCDwidth-4,LCDheight-4);
break;
case WM_TOUCH:
GUI_PID_GetState(&pState);
break;
default:
WM_DefaultProc(pMsg);
}
}
void touchcali(void)
{
while(1)
{
if(!hWintouch)
{
hWintouch =WM_CreateWindow(0,0,800,480, WM_CF_SHOW|WM_CF_MEMDEV,_cbWindow1,0);
}
GUI_Exec();
}
}
|
|