Tastaturbehandlung für Steuerelemente
Ein Steuerelement reagiert auf Tastenkombinationen, sodass der Endbenutzer Aktionen initiieren kann, die vom Steuerelement ausgeführt werden. Der Container verwaltet Tastaturaktivitäten für alle eingebetteten Steuerelemente. Bei zusammengesetzten Dokumenten gelten Tastenkombinationen nur für das aktuell aktive Objekt. Mit Steuerelementen wurde ein Mechanismus hinzugefügt, damit ein Steuerelement auf seine Tastaturmemonics reagieren kann, auch wenn es derzeit nicht ui-aktiv ist.
Die Methoden IOleControl::GetControlInfo und IOleControl::OnMnemonic und die IOleControlSite::OnControlInfoChanged-Methode verarbeiten die Tastaturmemonics eines Steuerelements. Eine CONTROLINFO-Struktur beschreibt die mnemonischen Beschleuniger eines Steuerelements, und die Flags, die mit dem Steuerelement über die GetControlInfo-Methode zurückgegeben werden, beschreiben das Verhalten der Steuerelemente mit der EINGABETASTE und der Esc-Taste. Wenn ein Steuerelement seine Mnemonik ändert, ruft es OnControlInfoChanged auf , damit der Container die Struktur bei Bedarf neu laden kann.
Wenn ein Steuerelement auf der Benutzeroberfläche aktiv ist, ist es auch das Steuerelement mit dem Fokus. Wenn Steuerelemente zwischen dem aktiven Zustand und dem aktiven Zustand der Benutzeroberfläche aktiviert und deaktiviert werden, ruft das Steuerelement IOleControlSite::OnFocus auf, um den Container von solchen Änderungen zu informieren.
Darüber hinaus hat ein Steuerelement, wenn die Benutzeroberfläche aktiv ist, zum ersten Mal die Möglichkeit, Tastaturanschläge zu verarbeiten. Um einem Container die Möglichkeit zu geben, die Tastatureingabe vor dem Steuerelement zu verarbeiten, ruft das Steuerelement IOleControlSite::TranslateAccelerator auf. Wenn der Container die Tastatureingabe nicht verarbeitet, verarbeitet das Steuerelement sie.
Zugehörige Themen