2 回答

TA貢獻1784條經(jīng)驗 獲得超2個贊
setfocus的函數(shù)原型是HWND SetFocus。SetFocus函數(shù)發(fā)送WM_KILLFOCUS消息到失去鍵盤焦點的窗口,并且發(fā)送WM_SETFOCUS消息到接受鍵盤焦點的窗口。它也激活接受鍵盤焦點的窗口或接受鍵盤焦點的窗口的父窗口。
函數(shù)功能:該函數(shù)對指定的窗口設(shè)置鍵盤焦點。該窗口必須與調(diào)用線程的消息隊列相關(guān)。
函數(shù)原型:HWND SetFocus(HWND hWnd)。
參數(shù):
hWnd:接收鍵盤輸入的窗口指針。若該參數(shù)為NULL,則擊鍵被忽略。
返回值:若函數(shù)調(diào)用成功,則返回原先擁有鍵盤焦點的窗口句柄。若hWnd參數(shù)無效或窗口未與調(diào)用線程的消息隊列相關(guān),則返回值為NULL。若想要獲得更多錯誤信息,可以調(diào)用GetLastError函數(shù)。
備注:SetFocus函數(shù)發(fā)送WM_KILLFOCUS消息到失去鍵盤焦點的窗口,并且發(fā)送WM_SETFOCUS消息到接受鍵盤焦點的窗口。它也激活接受鍵盤焦點的窗口或接受鍵盤焦點的窗口的父窗口。
若一個窗口是活動的,但沒有鍵盤焦點,則任何按鍵將會產(chǎn)生WM_SYSCHAR,WM_SYSKEYDOWN或WM_SYSKEYUP消息。若VK_MENU鍵也被按下,則消息的IParam參數(shù)將設(shè)置第30位。否則,所產(chǎn)生的消息將不設(shè)置此位。
使用AttachThreadInput函數(shù),一個線程可將輸入處理連接到其他線程。這使得線程可以調(diào)用SetFocus函數(shù)為一個與其他線程的消息隊列相關(guān)的窗口設(shè)置鍵盤焦點。
Windows CE:不使用SetFocus函數(shù)為一個與其他線程的消息隊列相關(guān)的窗口設(shè)置鍵盤焦點。但有一個例外。若一個線程的窗口是另一線程的子窗口,或這些窗口是具有同一父窗口的兄弟窗口,則與一個線程關(guān)聯(lián)的窗口可以為其他窗口設(shè)置焦點,盡管該窗口屬于一個不同的線程。在這種情況下,就不必先調(diào)用AttachThreadlnpUt函數(shù)。
- 2 回答
- 0 關(guān)注
- 933 瀏覽
添加回答
舉報