
- Der Standardteil des Kontextmenüs ist der Teil, der in der Komponente standardmäßig angezeigt wird. Dieser Teil kann nicht geändert werden. Sie können ihn nur ein- oder ausblenden.
- Der benutzerdefinierte Teil des Kontextmenüs kann bearbeitet werden. Standardmäßig ist er leer. Sie können diesem Teil des Kontextmenüs beliebige für die Komponente verfügbare Standardbefehle oder beliebige benutzerdefinierte Befehle hinzufügen. Der benutzerdefinierte Teil des Kontextmenüs wird immer nach dem Standardteil angezeigt. Er kann außerdem aktiviert oder deaktiviert werden.

Verfügbare Befehle verwalten
Die vollständige Liste der in visuellen Komponenten verfügbaren Befehle finden Sie in den Konstanten der Aufzählung MenuItemEnum. Die Unterobjekte Commands der Objekte ImageViewer, ZoomViewer, DocumentViewer und TextEditor bieten Zugriff auf die in den einzelnen Komponenten verfügbaren Befehle. Die Befehle können wie folgt aufgerufen werden:- durch Auswählen eines Eintrags in einem Kontextmenü,
- durch Klicken auf eine Schaltfläche in der Symbolleiste,
- durch Drücken einer Tastenkombination,
- durch Verwenden der Methode DoCommand des Unterobjekts Commands einer Komponente.
Vordefinierte Befehle zur Symbolleiste hinzufügen
Einige der vordefinierten Befehle sind standardmäßig in der Symbolleiste verfügbar, andere können vom Entwickler zur Symbolleiste einer Komponente hinzugefügt werden. Eine Übersicht der verfügbaren vordefinierten Befehle für die einzelnen Komponenten finden Sie in den entsprechenden Listen. So fügen Sie einen vordefinierten Befehl zu einer Symbolleiste hinzu oder entfernen ihn:- Rufen Sie das Objekt Toolbar über die Eigenschaft Toolbar der Komponente ab.
- Fügen Sie den Befehl mit der Methode InsertAt des Objekts Toolbar an der gewünschten Position in die Symbolleiste ein, oder entfernen Sie ihn mit der Methode Delete oder DeleteAt.
Sie können die Schaltflächen auf der Symbolleiste mithilfe von Trennlinien gruppieren. Verwenden Sie dazu die Methode InsertAt des Objekts Toolbar mit der Konstante MI_Separator als Parameter.
C#-Code
C#-Code
Vordefinierte Befehle zum Kontextmenü hinzufügen
Einige der vordefinierten Befehle sind im Kontextmenü standardmäßig verfügbar — diese Befehle bilden den Standardteil des Kontextmenüs. Alle anderen in der Komponente verfügbaren vordefinierten Befehle können dem benutzerdefinierten Teil des Kontextmenüs hinzugefügt werden. So fügen Sie dem benutzerdefinierten Teil eines Kontextmenüs einen vordefinierten Befehl hinzu oder entfernen ihn:- Rufen Sie das Objekt PopupMenu über die Eigenschaft PopupMenu der Komponente ab.
- Deaktivieren Sie bei Bedarf den gesamten Standardteil des Kontextmenüs mit der Eigenschaft StandardMenuEnabled des Objekts PopupMenu. Standardmäßig ist der Standardteil aktiviert.
- Aktivieren Sie den benutzerdefinierten Teil des Kontextmenüs mit der Eigenschaft CustomMenuEnabled des Objekts PopupMenu.
- Fügen Sie mit der Methode InsertAt des Objekts PopupMenu einen Befehl an der ausgewählten Position im benutzerdefinierten Teil des Kontextmenüs ein oder entfernen Sie ihn mit der Methode Delete oder DeleteAt.
Sie können die Elemente im benutzerdefinierten Teil des Kontextmenüs mithilfe von Trennlinien gruppieren. Verwenden Sie dazu die Methode InsertAt des Objekts PopupMenu mit der Konstante MI_Separator als Parameter.
C#-Code
C#-Code
Erstellen benutzerdefinierter Befehle
Sie können auch eigene Befehle erstellen und sie einer Symbolleiste oder einem Kontextmenü hinzufügen. Die Aufzählung MenuItemEnum enthält die Konstanten (MI_CustomCommand1, … MI_CustomCommand10), mit denen Sie eigene Befehle definieren können. Bevor Sie einen benutzerdefinierten Befehl hinzufügen, müssen Sie ein Symbol (16х16 px) für die entsprechende Schaltfläche in der Symbolleiste erstellen und einen Text für den Befehl festlegen. Anschließend sollten Sie den Befehl in der Komponente registrieren und ihn der Symbolleiste oder dem benutzerdefinierten Teil des Kontextmenüs hinzufügen. Weitere Details finden Sie unten. So fügen Sie einen Benutzerbefehl hinzu:- Registrieren Sie den Befehl in der Komponente. Verwenden Sie dazu die Methode RegisterUserCommand des Unterobjekts Commands der Komponente und übergeben Sie eine der Konstanten MI_CustomCommand1, … MI_CustomCommand10 als Parameter. Außerdem sollten Sie in den Parametern dieser Methode den Pfad zum Symbol, den Text des Befehls und das Tastenkürzel angeben.
Ein Tastenkürzel besteht aus zwei Teilen: dem virtuellen Tastencode und den Tastenmodifikatoren (Ctrl, Alt, Shift). Wenn Sie ein Tastenkürzel an eine Methode von FineReader Engine übergeben, sollte es dasselbe Format wie der Rückgabewert (LRESULT) der Windows-Funktion SendMessage für die gesendete Nachricht HKM_GETHOTKEY haben. Um den Wert des Tastenkürzels in diesem Format zu erhalten, müssen Sie den virtuellen Tastencode des Tastenkürzels in das Low-Order-Byte des Werts und den Tastenmodifikator, der die Tasten der Tastenkombination festlegt, in das High-Order-Byte packen. Wenn Sie für den Befehl kein Tastenkürzel benötigen, übergeben Sie 0 als Parameter der Methode.
- Implementieren Sie das Ereignis OnCommand der Schnittstelle ICommandEvents, damit das Ereignis für den neuen Befehl verarbeitet wird. Siehe Arbeiten mit verknüpfbaren Objekten.
- Fügen Sie den Befehl der Symbolleiste oder dem benutzerdefinierten Teil des Kontextmenüs der Komponente hinzu. Das Vorgehen ist dasselbe wie bei vordefinierten Befehlen einer Symbolleiste oder eines Kontextmenüs.
C# code
C# code
- Entfernen Sie ihn aus der Symbolleiste oder aus dem benutzerdefinierten Teil des Kontextmenüs. Das Vorgehen ist dasselbe wie bei vordefinierten Befehlen einer Symbolleiste oder eines Kontextmenüs.
- Heben Sie die Registrierung des Befehls auf. Verwenden Sie dazu die Methode UnregisterUserCommand des Unterobjekts Commands der Komponente.
