Freigeben über


Button-Zustände

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

Der Abschnitt umfasst die folgenden Themen:

Schaltflächenauswahl

Der Benutzer kann eine Schaltfläche auf drei Arten auswählen: Indem er mit der Maus darauf klickt, indem er mit der Tabulatortaste darauf klickt und dann die EINGABETASTE drückt, oder (wenn die Schaltfläche Teil einer Gruppe ist, die durch die WS_GROUP-Formatvorlage definiert wird), indem er die Tabulatortaste auf die ausgewählte Schaltfläche in der Gruppe klickt und die Pfeiltasten verwendet, 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.

Das Auswählen einer Schaltfläche verursacht in der Regel die folgenden Ereignisse:

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

Elemente eines Schaltflächenzustands

Der Zustand einer Schaltfläche kann durch den Fokuszustand, den Pushzustand und den Überprüfungszustand gekennzeichnet werden.

Fokuszustand

Der Fokuszustand gilt für ein Kontrollkästchen, ein Optionsfeld, eine Drucktaste oder eine vom Besitzer gezeichnete Schaltfläche. Eine Schaltfläche empfängt den Tastaturfokus, wenn der Benutzer sie auswählt, und verliert den Fokus, wenn der Benutzer ein anderes Steuerelement auswählt. Nur ein Steuerelement kann gleichzeitig den Tastaturfokus haben.

Wenn eine Schaltfläche über den Tastaturfokus verfügt, hebt das System in der Regel den Text, das Symbol oder die Bitmap einer Schaltfläche hervor, indem es sie mit einer gepunkteten Linie umgibt. Darüber hinaus hat ein Druckknopf einen schweren dunklen Rahmen, wenn er 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 Pushzustand gilt für eine Drucktaste, ein Kontrollkästchen, ein Optionsfeld oder ein Kontrollkästchen mit drei Status, gilt jedoch nicht für andere Schaltflächen. Der Druckzustand einer Taste kann entweder gedrückt oder nicht gedrückt werden. Wenn eine Drucktaste (oder eine beliebige Schaltfläche mit dem BS_PUSHLIKE Stil) gedrückt wird, wird die Schaltfläche als versunkene Schaltfläche gezeichnet. Wenn es nicht gedrückt wird, wird es als erhabene Taste gezeichnet. Wenn auf ein Kontrollkästchen, ein Optionsfeld oder ein Kontrollkästchen mit drei Status geklickt wird, wird der Hintergrund der Schaltfläche abgeblendet. Wenn sie nicht gedrückt wird, wird der Hintergrund der Schaltfläche nicht abgeblendet.

Überprüfen des Zustands

Der Kontrollkästchenstatus gilt für ein Kontrollkästchen, ein Optionsfeld oder ein Kontrollkästchen mit drei Status, gilt aber nicht für andere Schaltflächen. Der Zustand kann aktiviert, deaktiviert oder (bei Kontrollkästchen mit drei Zuständen) unbestimmt sein. Ein Kontrollkästchen ist aktiviert, wenn es ein Häkchen enthält, und wird deaktiviert, wenn dies nicht der Fall ist. Ein Optionsfeld wird aktiviert, wenn es einen schwarzen Punkt enthält. sie wird gelöscht, wenn dies nicht der Fall ist. Ein Kontrollkästchen mit drei Status ist aktiviert, wenn es ein Häkchen enthält, wird deaktiviert, wenn dies nicht der Fall ist, und ist unbestimmt, wenn es ein abgeblendetes Kontrollkästchen enthält. Das System ändert automatisch den Überprüfungsstatus einer automatischen Schaltfläche, aber die Anwendung muss den Überprüfungsstatus einer nicht automatischen Schaltfläche ändern.

Änderungen an einem Schaltflächenzustand

Wenn der Benutzer eine Schaltfläche auswählt, ist es in der Regel erforderlich, mindestens ein Zustandselement der Schaltfläche zu ändern. Das System ändert automatisch den Fokuszustand für alle Schaltflächentypen, den Druckzustand für Drucktasten oder Schaltflächen mit dem BS_PUSHLIKE Stil und den Überprüfungszustand für alle automatischen Schaltflächen. Die Anwendung muss alle anderen Zustandsänderungen unter Berücksichtigung des Typs, des Stils und des aktuellen Zustands der Schaltfläche vornehmen. 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 Überprüfungsstatus ändern.
  • Ein Optionsfeld muss den Überprüfungszustand ändern. Es kann auch erforderlich sein, den Überprüfungsstatus anderer Optionsfelder in derselben Gruppe zu ändern, um sicherzustellen, dass sich Optionsfelder gegenseitig ausschließen.
  • 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 ermitteln, indem sie ihr eine BM_GETCHECK oder BM_GETSTATE Nachricht sendet. Die Anwendung kann den Status einer Schaltfläche festlegen, indem sie eine BM_SETCHECK oderBM_SETSTATE Nachricht sendet.