DisplayMenuEntry

Top  Previous  Next

Anlegen temporärer Menüs.

Mit Hilfe dieses Befehls können von der Kommandoebene oder aus Batchprozessen heraus eigene Pulldown-Menüs für das Grafik oder Inputfenster definiert werden, sowie Toolbars, Tastenkürzel und Pop-Up-Menüs.

Die mit DisplayMenuEntry erstellten Menüs sind temporär und haben nur für die jeweilige Sitzung Bestand. Sollen eigene Menüerweiterungen dauerhaft installiert werden, so muß der Befehl in eine bei jedem Start aufgerufene Batchdatei geschrieben werden, z.B. in die Datei ...\Rahmen\batch\userinit.cmd oder die Menüs müssen mit dem Befehl DefineWindowMenu erstellt werden.

 

Voraussetzung

keine

Parameter

/SILENT

Es werden keine Ausgaben erzeugt (Sinnvoll, wenn der Befehl aus einer Batchdatei ohne Dialoge ausgerufen wird).

STYLE/nn

Styleinformation für die Einträge, meist 0.

ATTRIBUTE/nn

Attributinformation der Einträge, meist 0.

POSITION/pos

Position des/der neuen Einträge im Menü. Es kann eine beliebige Nummer angegeben werden, die die Position bestimmt, oder MIT_END für das Ende des Menüs.

/SYSTEMMENUE

Die Einträge werden in dem Systemmenü erzeugt.

/MENUEBAR

Die Einträge werden in dem normalen (Text-)Menü am oberen Fensterrand erzeugt.

/TOOLBAR

Die Einträge werden in der Toolbar (Werkzeugleiste unterhalb des normalen Textmenüs) erzeugt.

/ACCEL

Es werden Tastenkürzel (Accelerators).erzeugt, d.h. bestimmte Tastenkombinationen werden mit bestimmten Funktionen belegt.

/POPUP

Das Popup-Menü (öffnet sich beim Betätigen der rechten Maustaste) wird erweitert.

/STATUSBAR

Erweitern der Statusbar, noch nicht implementiert.

/TEMP

Menüeintrag erfolgt temporär und kann separat entfernt werden.

ID/nn

Fensternummer, an dem das Menü angehängt wird, z.B. -1 für das Inputfenster oder -2 für das Graphikfenster.

Rückgabewert

Wert

Beschreibung

0

Aufruf wurde erfolgreich durchgeführt

sonst

Fehler aufgetreten

Dialog

Befehl eingeben: DisplayMenuEntry

ID des Fensters

-2

Style des Menüitems eingeben:    

   (MIS_TEXT, MIS_BITMAP, MIS_SUBMENU)

MIS_TEXT erstellt ausführbare Textmenüs, MIS_BITMAP erzeugt Buttons, MIS_SUBMENÜ erzeugt ein Untermenü (Drop-Down-Menü), in das danach Textmenüs oder Buttons eingefügt werden können.

MIS_SUBMENU

Attribut des Menüitems eingeben:  

   (0)

Die Null in Klammern ist bei diesem Befehl nur als Eingabevorschlag gedacht. Sie kann nicht durch einfaches Drücken von <Enter> bestätigt werden, sondern muß extra eingegeben werden.

0

Text des Menüitems eingeben:

Programm Beenden

Position des Menüitems eingeben:  

   (MIT_END)

Neben der vorgeschlagenen Eingabe MIT_END, die dafür sorgt, daß das neue Menü an das bestehende hinten angehängt wird, kann an dieser Stelle auch die tatsächliche Position des neuen Menüs als Zahl eingegeben werden.

MIT_END

Ausführung des Menüitems eingeben:

   (Bsp.: EOJ)

<Enter>

Style des Menütiems eingeben:    

   (MIS_TEXT, MIS_BITMAP, MIS_SUBMENU)

MIS_TEXT

Attribut des Menüitems eingeben:  

   (0)

0

Text des Menütems eingeben:

Programm Beenden|jetzt beenden

Verzweigungen durch Untermenüs werden wie im obigen Beispiel dargestellt durch senkrechte Striche (|) getrennt. Sollen Buttons eingefügt werden (MIS_BITMAP), so muß als Text des Menüitems die entsprechende Ressourcennummer des Bitmaps eingegeben werden.

Ausführung des Menüitems eingeben:

   (Bsp.: EOJ)

An dieser Stelle kann nun entweder ein einzelner Befehl oder auch eine Reihe mehrerer ausführbarer Befehle eingegeben werden. Im letzteren Fall werden die Befehle wie in Batchabläufen der Reihe nach und jeweils durch <Enter> getrennt eingegeben. Wird zweimal hintereinander <Enter> eingegeben, dann geht DisplayMenuEntry davon aus, daß die Eingabe der Befehlsfolge zur Ausführung des Menüitems beendet ist. Sollen in einer Befehlsfolge trotzdem auch Leerzeilen vorkommen, so muß anstelle der zweiten <Enter>-Eingabe die Zeichenfolge:  

_LEERZEILE_    

eingegeben werden.

EOJ

<Enter>

Das zweite <Enter> markiert das Ende der Befehlsfolge. An dieser Stelle wiederholen sich die Dialogvorgaben und es folgt nun die Aufforderung, den Style für ein neues Menüitem einzugeben.

Style des Menüitems eingeben:    

   (MIS_TEXT, MIS_BITMAP, MIS_SUBMENU)

<Enter>

Das dritte <Enter> beendet den Befehl.

Befehl eingeben:

Beispiel1 Menü anlegen

Siehe oben.

Wenn die Eingabe eines neuen Menüeintrages wie in dem Dialogbeispiel oben erfolgt, wird der neue Menüpunkt sofort sichtbar:




image5_17

Beispiel2 Tastenkürzel für die Kommandozeile definieren

Befehl eingeben: DisplayMenuEntry

ID des Fensters

-1

Style des Menüitems eingeben:    

   (MIS_TEXT, MIS_BITMAP, MIS_SUBMENU)

Diese Angabe wird nicht ausgewertet.

MIS_TEXT

Attribut des Menüitems eingeben:  

   (0)

Die Null in Klammern ist bei diesem Befehl nur als Eingabevorschlag gedacht. Sie kann nicht durch einfaches Drücken von <Enter> bestätigt werden, sondern muß extra eingegeben werden.

0

Text des Menüitems eingeben:

Um einzelne Tasten anzusprechen, muss man deren Code kennen.  Z.B. hat die 1 auf der Tastatur den Code 49, die 2 die 50, das A den Code 65, usw. Zu diesen Tasten sind die Tasten CONTROL, ALT, ALTGR und SHIFT auch in Kombination möglich.

CONTROL 49

Position des Menüitems eingeben:  

   (MIT_END)

Diese Angabe wird nicht ausgewertet.

MIT_END

Ausführung des Menüitems eingeben:

   (Bsp.: EOJ)

An dieser Stelle kann nun entweder ein einzelner Befehl oder auch eine Reihe mehrerer ausführbarer Befehle eingegeben werden. Im letzteren Fall werden die Befehle wie in Batchabläufen der Reihe nach und jeweils durch <Enter> getrennt eingegeben. Wird zweimal hintereinander <Enter> eingegeben, dann geht DisplayMenuEntry davon aus, daß die Eingabe der Befehlsfolge zur Ausführung des Menüitems beendet ist. Sollen in einer Befehlsfolge trotzdem auch Leerzeilen vorkommen, so muß anstelle der zweiten <Enter>-Eingabe die Zeichenfolge:  

_LEERZEILE_    

eingegeben werden.

is.Echo /NOW "Control 1 gedrückt"

<Enter>

Style des Menütiems eingeben:    

   (MIS_TEXT, MIS_BITMAP, MIS_SUBMENU)

MIS_TEXT

Attribut des Menüitems eingeben:  

   (0)

0

Text des Menütems eingeben:

CONTROL 50

Position des Menüitems eingeben:  

   (MIT_END)

MIT_END

Ausführung des Menüitems eingeben:

   (Bsp.: EOJ)

is.Echo /NOW "Control 2 gedrückt"

<Enter>

Das zweite <Enter> markiert das Ende der Befehlsfolge. An dieser Stelle wiederholen sich die Dialogvorgaben und es folgt nun die Aufforderung, den Style für ein neues Menüitem einzugeben.

Style des Menüitems eingeben:    

   (MIS_TEXT, MIS_BITMAP, MIS_SUBMENU)

<Enter>

Das dritte <Enter> beendet den Befehl.

Befehl eingeben:

 

Bemerkung

 

Siehe auch

DefineWindowMenu

io_DeleteMenueEntry

 

Dokumentation im Administratorhandbuch unter    

Anpassen durch den Systemadministrator|Menüs herstellen.