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