新手求教一个鼠标事件问题

我是新手,刚接触QNX,现在又一个问题,就是在按住鼠标左键的时候,我鼠标移动,想获取这个移动事件,要怎么获取,用什么函数,望论坛里的各位大神在百忙中抽空指教下,谢谢咯:lol:

我也是这个问题 是不是获取Ph_EV_PTR_MOTION_BUTTON 消息需要另外一种设置



在main()里面:
////////////////Engine_Test///////End/////////////////////////////////////
int event_act_cb( PtWidget_t *, void *, PtCallbackInfo_t *); //鼠标响应函数
PtAddFilterCallback( window, Ph_EV_BUT_PRESS | Ph_EV_BUT_RELEASE | Ph_EV_PTR_MOTION_BUTTON, event_act_cb, NULL );


//鼠标消息处理函数
int event_act_cb(PtWidget_t *w, void *data,
PtCallbackInfo_t *cbinfo)
{
PhPointerEvent_t event_data = NULL;
/
eliminate ‘unreferenced’ warnings */
w = w, data = data, cbinfo = cbinfo;
static int x = 0;
long key_mode;
short event_subtype;
long event_type = cbinfo->event->type;
if (event_type == Ph_EV_BUT_PRESS ) //鼠标按键按下
{
printf (“It’s a Ph_EV_BUT_PRESS event\n”);
event_data = (PhPointerEvent_t *)PhGetData (cbinfo->event);
}
else if(event_type == Ph_EV_BUT_RELEASE)
{
event_subtype = cbinfo->event->subtype;
if(event_subtype == Ph_EV_RELEASE_REAL)//鼠标按键弹起
{
printf (“It’s a Ph_EV_RELEASE_REAL event\n”);
}
}
else if(event_type == Ph_EV_PTR_MOTION_BUTTON )//鼠标按键按下后移动
{
printf (“It’s a Ph_EV_PTR_MOTION_BUTTON event\n”);
}
return( Pt_CONTINUE );
}


使用上述代码 我只获取到了 Ph_EV_BUT_PRESS 和 Ph_EV_BUT_RELEASE 的消息

请知情者 解答下咯! :slight_smile:

是不是两个事件不能同时获得啊
鼠标按下和鼠标按下移动这两个事件

是我使用函数出错了
PtAddFilterCallback 改为PtAddEventHandler 就可以了 :smiley:

一次只能获取一种