SPopupMenu

Verwaltet ein Popupmenu. Zum Schließen von außerhalb kann EndMenu() verwendet werden.

Vererbung

Basisklassen(n)   abgeleitete Klassen
  SPopupMenu  

Attribute

public:

Attribut Typ Beschreibung
backgroundColor COLORREF Menu-Hintergrundfarbe
horPositioning int Legt die Bezugsposition zur Koordinate bei show(...) fest.
eines von:
  • TPM_CENTERALIGN
  • TPM_LEFTALIGN
  • TPM_RIGHTALIGN
messageToParent BOOL Wenn true sendet das Menu eine WM_COMMAND-Message an das Vaterfenster bei Auswahl eines Menupunktes.
SPopupMenu_defaultBackgroundColor SVL_IM_EX COLORREF Menu-Hintergrundfarbe
vertPositioning int Legt die Bezugsposition zur Koordinate bei show(...) fest.
eines von:
  • TPM_BOTTOMALIGN
  • TPM_TOPALIGN
  • TPM_VCENTERALIGN

protected:

Attribut Typ Beschreibung
hmenu HMENU Handle des Menus.

Operationen

public:

Name Parameter Rückgabewert Beschreibung
addSeparator int id=0 int Fügt einen Trennstrich hinten an.
addText const SString& text,
int id=0,
int state=0
int Fügt einen Menüpunkt hinten an.
getHandle HMENU Liefert das Windows-Handle des PopupMenüs.
getSize int Gibt die Anzahl der Items im Menü zurück.
show HWND hwndParent,
SPoint point
int Stellt das Menu dar. Beachten Sie, dass die Koordinaten als Screen-Koordinaten angegeben werden müssen.
showFromString HWND hwndParent,
SPoint point,
const SString& items,
const SString& separator='|'
SString Erstellt ein Menü aus einer Zeichenkette mit den Menüpunkten und zeigt dieses an.

protected:

Name Parameter Rückgabewert Beschreibung
deinit void Zerstört das PopupMenü.
init void Initialisiert das PopupMenü.
insertItem MENUITEMINFO* mii,
int afterIdOrPos=SMENU_ITEM_APPAND ,
BOOL byPosition=true,
int id=0
int
onBeforeShow void Wird ausgelöst, kurz vor dem Anzeigen des Menüs. Hier sollte bei Bedarf der Status der Menüpunkte modifiziert werden.

Detailbeschreibung SPopupMenu

Verwaltet ein Popupmenu. Zum Schließen von außerhalb kann EndMenu() verwendet werden.

Funktionsbeschreibungen

addSeparator(int id=0) int

Fügt einen Trennstrich hinten an.

Parameter:

id zu verwendender id, wenn leer, wird ein neuer vergeben

Rückgabe:

int ID des eingefügten Items oder NULL wenn ein Fehler auftrat.

addText(const SString& text, int id=0, int state=0) int

Fügt einen Menüpunkt hinten an.

Parameter:

text anzuzeigender Text, wenn text="SEPARATOR" wird ein Trennstrich eingefügt
id zu verwendender id, wenn leer wird ein neuer vergeben
state zu setzender Status (meist Null), kann eines oder mehreres sein von:
  • MFS_ENABLED,
  • MFS_DISABLED,
  • MFS_CHECKED,
  • MFS_UNCHECKED,
  • MFS_HILITE,
  • MFS_UNHILITE,
  • MFS_DEFAULT

Rückgabe:

int ID des eingefügten Items oder NULL wenn ein Fehler auftrat.

deinit() void

Zerstört das PopupMenü.

getHandle() HMENU

Liefert das Windows-Handle des PopupMenüs.

getSize() int

Gibt die Anzahl der Items im Menü zurück.

init() void

Initialisiert das PopupMenü.

insertItem(MENUITEMINFO* mii,int afterIdOrPos=SMENU_ITEM_APPAND , BOOL byPosition=true, int id=0) int

Parameter:

afterIdOrPos SMENU_ITEM_APPAND --> hinten anfügen

onBeforeShow() void

Wird ausgelöst, kurz vor dem Anzeigen des Menüs. Hier sollte bei Bedarf der Status der Menüpunkte modifiziert werden.

show(HWND hwndParent, SPoint point) int

Stellt das Menu dar. Beachten Sie, dass die Koordinaten als Screen-Koordinaten angegeben werden müssen.

z.B.: myMenu.show(hwnd, clientToScreen(point));

Parameter:

hwndParent Handle des Vaterfenster
point Position des Bezugspunktes, in der Regel obere linke Ecke des Menüs

Rückgabe:

int ausgelöster Menüpunkt bzw. Null wenn Abbruch oder Fehler

showFromString(HWND hwndParent, SPoint point, const SString& items, const SString& separator='|') SString

Erstellt ein Menü aus einer Zeichenkette mit den Menüpunkten und zeigt dieses an.

Es wird der Text des gewählten Menüpunktes zurückgegeben.

Parameter:

hwndParent Handle des Vaterfenster
point Position des Bezugspunktes, in der Regel obere linke Ecke des Menüs
items Zeichenkette mit den Menüpunkten getrennt durch separator, ein Leerstring erzeugt einen Separator
separator Trennzeichen, mit dem die Menüpunkte getrennt sind

Rückgabe:

SString SString mit Text des gewählten Menüpunktes oder einen Leerstring wenn nichts gewählt wurde.