Tastaturfokus und Aktivierung

Das System Bucht Tastatur Nachrichten an die Nachrichtenwarteschlange der Vordergrundthread, die Fenster mit den Tastaturfokus erstellt. Der Tastaturfokus liegt eine temporary-Eigenschaft eines Fensters. Das System teilt die Tastatur unter alle Fenster auf dem Bildschirm durch die Verlagerung des Tastaturfokus, in Richtung des Benutzers von einem Fenster zum anderen. Das Fenster, das den Tastaturfokus besitzt (aus der Meldungswarteschlange des Threads, der es erstellt) empfängt alle Tastatur Nachrichten, bis der Fokus in ein anderes Fenster ändert.

Ein Thread kann rufen Sie die Funktion GetFocus zu bestimmen, welche von seinen Fenstern (falls vorhanden) momentan den Tastaturfokus hat. Ein Thread kann den Tastaturfokus eines seiner Fenster durch Aufrufen der SetFocus -Funktion geben. Wenn der Tastaturfokus von einem Fenster zum anderen ändert, sendet das System eine Nachricht WM_KILLFOCUS an das Fenster, das den Fokus verloren hat, und sendet dann eine Meldung WM_SETFOCUS an das Fenster, das den Fokus hat gewonnen.

Das Konzept des Tastaturfokus bezieht sich auf die des aktiven Fensters. Das aktive Fenster ist das Fenster der obersten Ebene, die, dem der Benutzer gerade arbeiten ist. Das Fenster mit dem Tastaturfokus ist entweder das aktive Fenster oder ein untergeordnetes Fenster des aktiven Fensters. Damit der Benutzer einfach das aktive Fenster identifizieren kann, das System platziert es am oberen Rand der Z-Reihenfolge und seiner Titelleiste (wenn vorhanden) und Rahmen hervorgehoben.

Der Benutzer kann ein Fenster der obersten Ebene aktivieren, indem Sie darauf klicken, wählen sie mit der Alt + Tab oder Alt + esc Tastenkombination, oder wenn aus der Aufgabenliste auswählen. Ein Thread kann ein Fenster der obersten Ebene mithilfe der SetActiveWindow -Funktion aktivieren. Sie können bestimmen, ob ein Fenster der obersten Ebene erstellt, mithilfe der Funktion GetActiveWindow aktiv ist.

Wenn ein Fenster deaktiviert ist und eine andere aktiviert, sendet das System die Meldung WM_ACTIVATE . Das niedrige Word des wParam -Parameters ist NULL, wenn das Fenster wird deaktiviert und ungleich NULL, wenn es aktiviert ist. Wenn die Standardfensterprozedur die WM_ACTIVATE-Nachricht empfängt, legt es den Tastaturfokus auf das aktive Fenster.

Index