SetFocus
函數(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ù)。 速查:Windows NT:3.1及以上版本;Windows:95及以上版本:Windows CE:1.0及以上版;頭文件:winuser.h;庫(kù)文件:user32.lib。
總結(jié)
- 上一篇: 生物蛋白质数据库类型【总结】
- 下一篇: 蚂蚁金服面试复盘(插播)