Fungsi SetFocus (winuser.h)

Mengatur fokus keyboard ke jendela yang ditentukan. Jendela harus dilampirkan ke antrean pesan utas panggilan.

Sintaks

HWND SetFocus(
  [in, optional] HWND hWnd
);

Parameter

[in, optional] hWnd

Jenis: HWND

Handel ke jendela yang akan menerima input keyboard. Jika parameter ini NULL, penekanan tombol diabaikan.

Nilai kembali

Jenis: HWND

Jika fungsi berhasil, nilai yang dikembalikan adalah handel ke jendela yang sebelumnya memiliki fokus keyboard. Jika parameter hWnd tidak valid atau jendela tidak dilampirkan ke antrean pesan utas panggilan, nilai yang dikembalikan adalah NULL. Untuk mendapatkan informasi kesalahan yang diperluas, panggil fungsi GetLastError.

Kesalahan yang diperluas ERROR_INVALID_PARAMETER (0x57) berarti bahwa jendela dalam status dinonaktifkan.

Keterangan

Fungsi ini mengirimkan pesan WM_KILLFOCUS ke jendela yang kehilangan fokus keyboard dan pesan WM_SETFOCUS ke jendela yang menerima fokus keyboard. Ini juga mengaktifkan jendela yang menerima fokus atau induk jendela yang menerima fokus.

Jika jendela aktif tetapi tidak memiliki fokus, tombol apa pun yang ditekan menghasilkan pesan WM_SYSCHAR, WM_SYSKEYDOWN, atau WM_SYSKEYUP . Jika tombol VK_MENU juga ditekan, bit 30 parameter lParam pesan diatur. Jika tidak, pesan yang dihasilkan tidak memiliki set bit ini.

Dengan menggunakan fungsi AttachThreadInput, utas dapat melampirkan pemrosesan inputnya ke utas lain. Ini memungkinkan utas untuk memanggil SetFocus untuk mengatur fokus keyboard ke jendela yang dilampirkan ke antrean pesan utas lain.

Contoh

Misalnya, lihat Menginisialisasi Kotak Dialog.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header winuser.h (termasuk Windows.h)
Pustaka User32.lib
DLL User32.dll
Set API ext-ms-win-ntuser-window-l1-1-4 (diperkenalkan dalam Windows 10, versi 10.0.14393)

Lihat juga

Fungsi AttachThreadInput, fungsi GetFocus, WM_KILLFOCUS, WM_SETFOCUS, WM_SYSCHAR, WM_SYSKEYDOWN, WM_SYSKEYUP, Input Keyboard