SetFocus

SetFocus 함수는 지정한 창에 키보드 포커스를 설정합니다. 창 호출 스레드의 메시지 큐에 연결 해야 합니다.

 HWND SetFocus (  HWND  hWnd / 창 포커스를 받을 처리 /);
 

매개 변수

hWnd
키보드 입력을 받을 것 이다 창으로 처리 합니다. 이 매개 변수가 NULL 이면 키 입력은 무시 됩니다.

반환 값

함수가 성공 하면 반환 값은 이전에 키보드 포커스가 있는 창에 대 한 핸들. HWnd 매개 변수가 유효 하지 않거나 창 호출 스레드의 메시지 큐에 연결 되어 있지 않으면, 반환 값은 NULL입니다. 확장 된 오류 정보를 얻을 하려면 GetLastError.

주의

SetFocus 함수는 키보드 포커스가 창에 키보드 포커스가 창 WM_KILLFOCUS 메시지 및 WM_SETFOCUS 메시지를 보냅니다. 포커스가 창 또는 포커스를 받을 윈도우의 부모를 활성화.

창이 활성화 되어 있지만 포커스 경우 아무 키나 누르면 WM_SYSCHAR, WM_SYSKEYDOWN, 또는 WM_SYSKEYUP 메시지를 생산할 예정 이다. VK_MENU 키를 누르면 또한 메시지의 lParam 매개 변수는 비트 30 설정 합니다. 그렇지 않으면, 메시지 제작 하지 않아도이 비트를 설정.

AttachThreadInput 함수를 사용 하 여 스레드는 다른 스레드가 처리 입력을 첨부할 수 있습니다. 그러면 다른 스레드의 메시지 큐와 관련 된 창에 키보드 포커스를 설정 하려면 SetFocus 를 호출 하는 스레드.

Windows CE: 다른 스레드가 메시지 큐와 관련 된 창에 키보드 포커스를 설정 하려면 SetFocus 함수를 사용 하지 마십시오. 한 가지 예외는 있습니다. 창 하나의 스레드에서 다른 스레드에서 창의 자식입니다 또는 윈도우는 같은 부모 형제 하나의 윈도우와 관련 된 스레드 비록 다른 스레드에 속한 다른 창에 포커스를 설정할 수 있습니다. 이 경우에 먼저 AttachThreadInput 를 호출할 필요가 없습니다.

QuickInfo

nbsp;?Windows &NT: 버전 3.1 이상이 필요 합니다.
Windows:Windows 95 이상이 필요합니다.
Windows CE:버전 1.0 이상이 필요합니다.
헤더:Winuser.h에서 선언합니다.
가져오기 라이브러리:User32.lib를 사용 하 여.

참고 항목

키보드 입력 개요, 키보드 입력 기능, AttachThreadInput, GetFocus, WM_KILLFOCUS, WM_SETFOCUS, WM_SYSCHAR, WM_SYSKEYDOWN, WM_SYSKEYUP

 

Index