我有一個自寫的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