|
一个窗体上有两个IMAGE控件(其它控件也一样,如TEXT), 这里我们命名为控件A与控件B,当点击A或B时会有其父窗体产生WM_TOUCH_CHILD消息. 我的问题是: 有这样一个现象,当我先点击A控件,然后再点击B控件时,点击B控件会产生两条消息,而且pState-> ressed都是大于1, 而第一条消息是来自上一个控件A被按下的消息,第二条才是控件B被按下的消息!! 相反, 我们点击控件B再点击控件A,第一条Pressed>0消息来自控件B,第二条Pressed>0的消息才来自控件A. 这样的话,点击A再点击B时,从消息来判断的话,相当于A被点击了两次(实际上就一次), 就样就没法判断是A真的被点击了两次,还是先点击A再点击B了,因为从消息来看,它们根本没区别!!
case WM_TOUCH_CHILD:
Id = WM_GetId(pMsg->hWinSrc);
n = Id - ID_TEXT_0;
pState = (GUI_PID_STATE *)((WM_MESSAGE *)pMsg->Data.p)->Data.p;
if (pState)
{
if (pState-> ressed)
{
//从点击A,再点击B,这里会进来两次, 第一次n=0,第二次n=1;
}
} |
|