4D v14.3

Pop up menu

Home

 
4D v14.3
Pop up menu

Pop up menu 


 

Pop up menu ( Inhalt {; Standard {; xKoord ; yKoord}} ) -> Funktionsergebnis 
Parameter Typ   Beschreibung
Inhalt  Text in Definition des Menütextes
Standard  Lange Ganzzahl in Standardmäßig gewählte Menüzeilennummer
xKoord  Lange Ganzzahl in X Koordinate der oberen linken Ecke
yKoord  Lange Ganzzahl in Y Koordinate der oberen linken Ecke
Funktionsergebnis  Lange Ganzzahl in Nummer der gewählten Menüzeile

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 "-" oder "(-".
  • 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 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.

Die Projektmethode MY SPEED MENU durchläuft ein Kontextmenü:

  ` 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 ERR 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.

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Benutzeroberfläche
Nummer: 542

 
GESCHICHTE 

Geändert: 4D 2004

 
SIEHE AUCH 

Dynamic pop up menu
GET MOUSE

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v11 SQL Release 6)
4D Programmiersprache ( 4D v12.4)
4D Programmiersprache ( 4D v14 R2)
4D Programmiersprache ( 4D v14 R3)
4D Programmiersprache ( 4D v13.5)
4D Programmiersprache ( 4D v14.3)
4D Programmiersprache ( 4D v14 R4)