我有一个自写的Windows控件,用C++/mfc42/visual studio 6编写。控件是从CStatic控件派生而来的,并对wm_lbuttondown/wm_lbuttonup作出反应。该控件被编译成一个dll。该DLL被动态加载到一个应用程序,它是用delphi 7编写的。到目前为止,所有的工作/工作都可以使用多年(在win xp/vista/win 7下)。在Windows 8触摸屏下缺少wm_lbuttondown
问题是:在acer iconia w3-810上的windows 8下,当我通过触摸屏触摸控件时,控件不会收到wm_lbuttondown/wm_lbuttonup消息。当你用鼠标单击控件时,一切都按预期工作,只有触摸不起作用。
另外:这只发生在控件在dll内部使用时。当我尝试使用独立版本的控件(一个.exe文件而不需要外部DLL)时,控件在接触到它时会收到wm_lbuttondown/wm_lbuttonup消息。
当我尝试在Windows 7触摸屏设备(一些联想)下它通过触摸正常工作!
另一个信息:当我触摸我得到其他无证消息而不是WM_LBUTTONDOWN/WM_LBUTTONUP ...的messagecodes是(十进制)585,582,581,583和586 ......
赢下8的控制有任何想法可能会导致这种情况?
也许低至15岁以上的MFC。你为什么不使用现代工具。 –
您未公开的消息有点接近WM_TOUCH。我想不出什么来推测虽然.. –
谢谢,我现在发现,消息是WM_POINTERENTER,WM_POINTERDOWN,WM_POINTERUPDATE,WM_POINTERUP,WM_POINTERLEAVE – user2703897