.. highlightlang:: us .. index:: OnCommand .. _oncommand: OnCommand ========= .. us.tag OnCommand GERMAN Menu New300 Der Funktionsname :ref:`OnCommand` steht für den Namen einer Funktion, die durch ein Menü oder einen Schalter einer Schalterleiste aufgerufen wird. .. function:: OnCommand() .. us.return **Returnwert** :ref:`OnCommand` gibt keinen Wert zurück. .. us.comment **Kommentar** Erstellung eines Kommandos .......................... Die Erstellung eines Kommandos soll an einem Beispiel gezeigt werden: Es soll ein Befehl erzeugt werden, mit dem man ein Text-Objekt umbenennen kann. In UniPlot haben alle Objekte Namen, damit man die Objekte identifizieren kann. Der Befehl soll in das Menü für Text-Objekte eingefügt werden. Das Menü kann aufgerufen werden, indem man das Text-Objekt mit der rechten Maustaste anklickt. Zunächst wird die Funktion geschrieben, mit der ein Objekt umbenannt werden kann: :: def ObjRenameDlg(handle) { ssName = ObjGetName(handle); svRet = DialogBox("Name: | |", ssName, "Rename"); if (svRet[1] == "DLG_CANCEL") { return FALSE; } return ObjSetName(handle, svRet[1]); } Der Eingabe-Parameter der Funktion **ObjRenameDlg** ist die Zugriffsnummer (handle) des Objekts, dass umbenannt werden soll. Die Funktion erfragt den Namen des Objekts (:ref:`ObjGetName`) und stellt den Namen in einem Editierfeld einer Dialog-Box dar (Funktion :ref:`DialogBox`). Falls der Benutzer nicht die Abbrechen-Taste gedrückt hat, wird das Objekt mit der Funktion :ref:`ObjSetName` umbenannt. Nun kann die :ref:`OnCommand`-Funktion geschrieben werden. Wir wählen den Namen **OnRename**. Die Funktion erfragt die Zugriffsnummern aller selektierten (markierten) Zeichenobjekte der aktiven Seite. :: def OnRename() { handle = GetSelectedObjects(); ObjRenameDlg(handle[1]); } Mit der Funktion :ref:`MenuInsertCommands` kann die neue Funktion in das Menü für Text-Objekte eingefügt werden. :: MenuInsertCommands("OBJ_TB", "OnRename", -1); Die :ref:`MnSetCommand` Funktion legt den Text fest, der für das Kommando im Menü angezeigt werden soll. :: MnSetCommand("OnRename", "Umbenennen"); .. seealso:: :ref:`uberblick-menus`, :ref:`MenuInsertCommands`, :ref:`MnSetCommand`, :ref:`OnCommandUI` :sub:`id-1145178`