如何檢查用戶是否用C#控件上的鼠標或鋼筆筆針點擊過。在爲平板電腦開發時,如何確定用戶是否點擊了鼠標或筆?
例如,如果用戶用筆按鈕單擊文本框,那麼我想要一個輸入面板彈出,但如果他用鼠標點擊,則不應該。那麼,如何檢查他是使用鼠標還是筆?
編輯:使用Windows窗體不是WPF
如何檢查用戶是否用C#控件上的鼠標或鋼筆筆針點擊過。在爲平板電腦開發時,如何確定用戶是否點擊了鼠標或筆?
例如,如果用戶用筆按鈕單擊文本框,那麼我想要一個輸入面板彈出,但如果他用鼠標點擊,則不應該。那麼,如何檢查他是使用鼠標還是筆?
編輯:使用Windows窗體不是WPF
我寫了一篇關於MSDN的文章,從來沒有發表過,我猜是因爲當我把它發給他們的時候,平板電腦開發失敗了。但它描述瞭如何做到這一點。長話短說,你需要GetMessageExtraInfo API。這裏的定義:
// [DllImport("user32.dll")]
// private static extern uint GetMessageExtraInfo();
uint extra = GetMessageExtraInfo();
bool isPen = ((extra & 0xFFFFFF00) == 0xFF515700);
給我發電子郵件我的名字在愛因斯坦科技dot淨如果你想我發送給你的文章。
我真的不知道太多關於這一點,但我猜想,如果有人在使用手寫筆,那麼的mouseenter,mouseExit(或任何等價物是)事件不會發生。如果有人被解僱,那麼你知道他們正在使用鼠標。
這些事件依然發生,它像鼠標的移動速度非常快。 – 2009-04-17 03:05:10
不幸的是,我使用的Windows窗體:(對此有什麼建議? – 2009-04-17 05:54:53
謝謝!像一個魅力工作。 – 2009-04-20 00:23:42