Pop up menu

4D - Documentation   Français   English   German   Spanish   Japanese   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next

Version 2004 (Geändert)


Pop up menu (Inhalt{; Standard{; xKoord{; yKoord}}}) Zahl

ParameterTypBeschreibung
InhaltTextDefinition des Menütextes
StandardZahlStandardmäßig gewählte Menüzeilennummer
xKoordZahlX Koordinate der oberen linken Ecke
yKoordZahlY Koordinate der oberen linken Ecke
FunktionsergebnisZahlNummer der gewählten Menüzeile

Beschreibung

Die Funktion Pop up menu zeigt ein PopUp-Menu an der aktuellen Mausposition.

Um unter anderem die Regeln für die Benutzeroberfläche zu befolgen, rufen Sie diese Funktion normalerweise als Antwort auf einen Mausklick bei noch gedrückter Maustaste auf.

Sie definieren die Zeilen des PopUp-Menüs mit dem Parameter Inhalt folgendermaßen:

Trennen Sie die Zeilen durch Strichpunkt (;) voneinander.

Beispiel, "ZeileText1;ZeileText2;ZeileText3".

Deaktivieren Sie eine Zeile durch eine offene Klammer (() im Zeilentext.

Übergeben Sie für eine Trennungslinie als Zeilentext die Zeichen "(-".

Setzen Sie für die Zuordnung einer Schriftart in einer Zeile im Zeilentext ein Kleiner-als-Zeichen (<) gefolgt von einem dieser Buchstaben:

<BFett
<IKursiv
<UUnterstrichen
<OKontur (nur auf Macintosh)
<SSchatten (nur auf Macintosh)

Setzen Sie für die Zuordnung einer Marke vor einer Zeile im Zeilentext ein Ausrufezeichen (!) gefolgt von dem gewünschten Zeichen.

- Unter Windows wird die Marke unabhängig vom übergebenen Zeichen angezeigt

- Auf Macintosh erscheint das eingegebene Zeichen direkt.

Um eine Standardmarke, unabhängig von der Systemversion oder Sprache anzuzeigen, wählen Sie die Anweisung Char (18).

Setzen Sie für die Zuordnung eines Icon für eine Zeile einen Circumflex Akzent (^) gefolgt von einem Zeichen. Sein Code minus 48 plus 256 bzw. plus 208 ist die Ressourcen ID einer auf Mac OS-basierenden Icon Ressource.

Setzen Sie für die Zuordnung eines Tastaturkürzels für eine Zeile einen rechtsgerichteten Schrägstrich (/) gefolgt von dem Kürzel für die Zeile. Beachten Sie, dass diese letzte Option rein informativ ist; ein Tastaturkürzel aktiviert nicht das PopUp-Menü. Es bietet sich jedoch an, ein Tastaturkürzel zu integrieren, wenn es für die Zeile des PopUp-Menüs eine Entsprechung in der Hauptmenüleiste Ihrer Anwendung gibt.

Tipp: Sie können die Operation zum Interpretieren von Sonderzeichen (!, /, etc.) im PopUp-Menü deaktivieren, um diese Zeichen im Text einfügen zu können. Dazu müssen Sie lediglich den Parameter Inhalt mit der Anweisung Char(1) beginnen lassen und diese Anweisung als Trenner verwenden. Zum Beispiel:

Inhalt:=Char(1)+"1/4"+Char(1)+1/2+Char(1)+3/4"

Beachten Sie, dass Sie nach Ausführen dieser Anweisung dem PopUp-Menü nicht mehr Stilarten oder Tastenkürzel zuweisen können.

Mit dem optionalen Parameter Standard können Sie die Standardmenüzeile festlegen, die beim Anzeigen des PopUp-Menüs ausgewählt wird. Übergeben Sie einen Wert zwischen 1 und der Anzahl der Menüzeilen. Geben Sie diesen Parameter nicht an, wählt die Funktion als Standard die erste Menüzeile.

Über die optionalen Parameter xKoord und yKoord können Sie die Position des anzuzeigenden PopUp-Menüs bestimmen. Sie übergeben jeweils die horizontale und vertikale Koordinate der oberen linken Ecke des Menüs. Die Angabe erfolgt in Pixel im lokalen Koordinatensystem des aktuellen Formulars. Sie müssen beide Parameter angeben; bei nur einem Parameter wird die Einstellung ignoriert.

Setzen Sie xKoord und yKoord ein, wird der Parameter Standard ignoriert. In diesem Fall liegt die Maus nicht unbedingt auf der Ebene des PopUp-Menüs.

Diese Parameter sind besonders hilfreich, um 3D Schaltfläche mit einem zugeordneten PopUp-Menü zu verwalten.

Wählen Sie eine Menüzeile, gibt die Funktion deren Nummer an; sonst gibt sie den Wert Null (0) zurück.

Hinweis: Verwenden Sie PopUp-Menüs mit einer vernünftigen Anzahl Zeilen. Bei mehr als 50 Zeilen sollten Sie anstelle eines PopUp-Menüs einen rollbaren Bereich verwenden.

Beispiel

Die Projektmethode MY SPEED MENU durchläuft ein Kontext-Menü:

      ` Projektmethode MY SPEED MENU 
   GET MOUSE($vlMouseX;$vlMouseY;$vlButton)
   If (Macintosh control down | ($vlButton=2))
      $vtItems:="Über diese Datenbank...<I;(-;!-Andere Optionen;(-"
      For ($vlTable;1;Get last table number)
         If(Is table number valid($vlTable))
         $vtItems:=$vtItems+";"+Table name($vlTable)
         End if 
      End for 
      $vlUserChoice:=Pop up menu($vtItems)
      Case of 
         : ($vlUserChoice=1)
            ` Zeige Information
         : ($vlUserChoice=3)
            ` Zeige Optionen
         Else 
            If ($vlUserChoice>0)
               ` Gehe zu Tabelle mit der Nummer $vlUserChoice-4
            End if 
      End case 
   End if 

Sie können diese Projektmethode aufrufen in:

Der Methode eines Formularobjekts, das auf einen Mausklick reagiert, ohne das Loslassen der Maustaste abzuwarten (z.B. eine unsichtbare Schaltfläche)

Einem Prozess, der nach Ereignissen "spioniert" und mit anderen Prozessen kommuniziert.

Einer mit ON EVENT CALL installierten Methode zur Verwaltung von Ereignissen.

In den beiden letzten Fällen muss der Mausklick nicht in einem Formularobjekt auftreten. Das ist einer der Vorteile der Funktion Pop up menu. Zum Anzeigen von PopUp-Menüs verwenden Sie im allgemeinen Formularobjekte. Mit Pop up menu lässt sich das Menü überall anzeigen.

Unter Windows erscheint das PopUp-Menü, wenn Sie die rechte Maustaste drücken; auf Macintosh mit der Tastenkombination Ctrl+Klick. Beachten Sie jedoch, dass die Methode nicht überprüft, ob ein Mausklick stattgefunden hat; das prüft die aufrufende Methode.

Im Folgenden sehen Sie links das PopUp-Menü unter Windows, rechts das PopUp-Menü auf Macintosh. Beachten Sie unter Windows die Standardmarke vor der Zeile.

Referenz

Dynamic pop up menu, GET MOUSE.

Anwendung des Befehls

3D Buttons, Popup Menu


4D - Documentation   Français   English   German   Spanish   Japanese   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next