Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Hasło nie zostało zweryfikowane
Niniejsze hasło zostało opracowane, jednak nie zostało ono zweryfikowane przez administrację serwisu. Jeżeli znalazłeś błędy merytoryczne w niniejszym dokumencie, prosimy o ich zgłoszenie na forum w dziale Znalezione błędy.
Opracował: xevuel
Biblioteki C/C++

SetFocus

[funkcja] Przekazuje fokus wybranemu oknu, które musi być skojarzone z kolejką komunikatów wywołującego wątku.

Składnia

C/C++
#include <windows.h>

HWND WINAPI SetFocus(
HWND hWnd
);

Argumenty

ArgumentOpis
hWndUchwyt do okna, które otrzyma fokusa, i będą do niego wysyłane komunikaty o naciśnięciu klawiszy. Jeśli ten argument będzie równy NULL, naciśnięcia klawiszy będą ignorowane.

Zwracana wartość

Jeśli wywołanie funkcji powiedzie się, zwróci ona uchwyt do okna, które jako ostatnie posiadało fokusa. Jeśli argument hWnd jest nieprawidłowy lub okno nie jest skojarzone z kolejką komunikatów wywołującego wątku, zwróconą wartością będzie NULL. Aby uzyskać szczegółowe informacje o błędzie, użyj » WinAPIGetLastError.

Opis szczegółowy

Funkcja SetFocus przekazuje fokus wybranemu oknu, które musi być skojarzone z kolejką komunikatów wywołującego wątku.

Do okna, które jako ostatnie było w posiadaniu fokusa, wysyłany jest komunikat WM_KILLFOCUS, a do okna które zostało określone argumentem hWnd, komunikat WM_SETFOCUS. Aktywowane zostaje albo okno, do którego został wysłany komunikat WM_SETFOCUS, albo jego okno nadrzędne (okno-rodzic).

Jeśli okno jest aktywne, ale nie posiada fokusa, każde naciśnięcie dowolnego klawisza spowoduje wysłanie komunikatu WM_SYSCHAR, WM_SYSKEYDOWN, lub WM_SYSKEYUP. Jeśli dodatkowo naciśnięty będzie klawisz VK_MENU, otrzymany argument lParam będzie posiadał ustawiony bit 30.

Użycie funkcji AttachThreadInput pozwala następnie wywołać funkcję SetFocus z uchwytem okna, które nie należy do kolejki komunikatów wywołującego wątku, jako argumentem.

Wymagania

Minimalny obsługiwany klientWindows 2000 Professional
Minimalny obsługiwany serwerWindows 2000 Server
NagłówekWinuser.h (wewnątrz Windows.h)
BibliotekaUser32.lib
DLLUser32.dll

Zagadnienia powiązane

GetFocusZwraca uchwyt do okna, które aktualnie posiada fokus, jeśli okno to jest skojarzone z kolejką komunikatów wywołującego wątku. (funkcja)

Linki zewnętrzne