Freigeben über


Schaltflächenzustände

In diesem Abschnitt wird erläutert, wie die Auswahl einer Schaltfläche ihren Zustand ändert und wie die Anwendung reagieren soll.

Der Abschnitt besteht aus den folgenden Themen:

Schaltflächenauswahl

Der Benutzer kann eine Schaltfläche auf drei Arten auswählen: durch Klicken mit der Maus, drücken Sie die TAB-TASTE, und drücken Sie dann die EINGABETASTE, oder (wenn die Schaltfläche Teil einer Gruppe ist, die durch die WS_GROUP Formatvorlage definiert ist), indem Sie die ausgewählte Schaltfläche in der Gruppe tabulatoren und die Pfeiltasten verwenden, um innerhalb dieser Gruppe zu navigieren. Die beiden Tabbingmethoden sind Teil der vordefinierten Tastaturschnittstelle, die vom System bereitgestellt wird. Eine vollständige Beschreibung dieser Schnittstelle finden Sie unter Dialogfelder.

Wenn Sie eine Schaltfläche auswählen, werden in der Regel die folgenden Ereignisse angezeigt:

  • Das System gibt der Taste den Tastaturfokus.
  • Die Schaltfläche sendet dem übergeordneten Fenster eine Nachricht, um sie über die Auswahl zu benachrichtigen.
  • Das übergeordnete Fenster (oder das System) sendet die Schaltfläche eine Nachricht, um den Status zu ändern.
  • Das übergeordnete Fenster (oder das System) überschreibt die Schaltfläche neu, um den neuen Zustand widerzuspiegeln.

Elemente eines Schaltflächenzustands

Der Zustand einer Schaltfläche kann durch den Fokuszustand, den Pushzustand und den Prüfzustand gekennzeichnet werden.

Fokusstatus

Der Fokusstatus gilt für ein Kontrollkästchen, Optionsfeld, Knopfdruck oder Schaltflächen, die vom Besitzer gezeichnet werden. Eine Schaltfläche erhält den Tastaturfokus, wenn der Benutzer ihn auswählt, und verliert den Fokus, wenn der Benutzer ein anderes Steuerelement auswählt. Nur ein Steuerelement kann den Tastaturfokus gleichzeitig haben.

Wenn eine Schaltfläche den Tastaturfokus hat, hebt das System in der Regel den Text, das Symbol oder die Bitmap einer Schaltfläche hervor, indem sie mit einer gepunkteten Linie umgeben wird. Darüber hinaus verfügt eine Knopfdrucktaste über einen schweren dunklen Rahmen, wenn sie den Fokus hat. Das System ändert automatisch die Hervorhebung für eine automatische Schaltfläche, aber die Anwendung muss die Hervorhebung für eine nicht automatische Schaltfläche ändern, indem Nachrichten gesendet werden.

Pushstatus

Der Pushstatus gilt für ein Kontrollkästchen, ein Kontrollkästchen, ein Optionsfeld oder ein Kontrollkästchen mit drei Zuständen, gilt jedoch nicht für andere Schaltflächen. Der Pushzustand einer Taste kann entweder gedrückt oder nicht gedrückt werden. Wenn eine Taste (oder eine beliebige Schaltfläche mit der BS_PUSHLIKE Formatvorlage) gedrückt wird, wird die Schaltfläche als eingesonnene Taste gezeichnet. Wenn sie nicht gedrückt wird, wird sie als ausgelöste Taste gezeichnet. Wenn auf ein Kontrollkästchen, ein Optionsfeld oder ein Kontrollkästchen mit drei Status geklickt wird, wird der Hintergrund der Schaltfläche grau dargestellt. Wenn sie nicht gedrückt wird, wird der Hintergrund der Schaltfläche nicht grau dargestellt.

Status überprüfen

Der Kontrollkästchenstatus gilt für ein Kontrollkästchen, ein Optionsfeld oder ein Kontrollkästchen mit drei Zuständen, gilt jedoch nicht für andere Schaltflächen. Der Zustand kann unbestimmt aktiviert, deaktiviert oder (für Drei-Zustand-Kontrollkästchen) aktiviert werden. Ein Kontrollkästchen ist aktiviert, wenn es ein Häkchen enthält, und wird deaktiviert, wenn es nicht der Fall ist. Ein Optionsfeld wird aktiviert, wenn es einen schwarzen Punkt enthält. sie wird gelöscht, wenn sie nicht. Ein Kontrollkästchen mit drei Status wird aktiviert, wenn es ein Häkchen enthält, deaktiviert wird, wenn es nicht vorhanden ist und unbestimmt ist, wenn es ein graues Feld enthält. Das System ändert automatisch den Prüfstatus einer automatischen Schaltfläche, aber die Anwendung muss den Prüfstatus einer nicht automatischen Schaltfläche ändern.

Änderungen an einem Schaltflächenstatus

Wenn der Benutzer eine Schaltfläche auswählt, ist es in der Regel erforderlich, ein oder mehrere Statuselemente der Schaltfläche zu ändern. Das System ändert automatisch den Fokusstatus für alle Schaltflächentypen, den Pushzustand für Knopfdruck oder Schaltflächen mit dem BS_PUSHLIKE Stil und den Prüfstatus für alle automatischen Schaltflächen. Die Anwendung muss alle anderen Zustandsänderungen vornehmen, wobei der Typ, die Formatvorlage und der aktuelle Zustand der Schaltfläche berücksichtigt werden. In der folgenden Liste sind die Zustandselemente aufgeführt, die für jeden Schaltflächentyp geändert werden müssen:

  • Ein Kontrollkästchen muss den Kontrollkästchenstatus ändern.
  • Ein Optionsfeld muss den Überprüfungszustand ändern. Es kann auch erforderlich sein, den Prüfstatus anderer Optionsfelder in derselben Gruppe zu ändern, um sicherzustellen, dass die sich gegenseitig ausschließende Art von Optionsfeldern besteht.
  • Da der Zustand einer vom Besitzer gezeichneten Schaltfläche anwendungsabhängig ist, kann die Änderung der Anwendung in der Schaltfläche variieren. Es müssen keine Elemente eines Gruppenfelds geändert werden, da Benutzer keine Gruppenfelder auswählen können.

Eine Anwendung kann den Status einer Schaltfläche bestimmen, indem sie eine BM_GETCHECK oder BM_GETSTATE Nachricht sendet; die Anwendung kann den Status einer Schaltfläche festlegen, indem sie eine BM_SETCHECK oder BM_SETSTATE Nachricht sendet.