Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   submenüs erzeugen (https://www.delphipraxis.net/112363-submenues-erzeugen.html)

lbccaleb 19. Apr 2008 19:04


submenüs erzeugen
 
hey there,

also ich erzeuge ein menü so:

Delphi-Quellcode:
            popupmenue := CreatePopupMenu;
            AppendMenu(popupmenue, MF_STRING, IDM_SHOW, ASLanguage.MenueShow);
            AppendMenu(popupmenue, MF_SEPARATOR, 0, 0);
            AppendMenu(popupmenue, MF_STRING, IDM_EXIT, ASLanguage.MenueClose);
nun möchte ich noch submenüs hinzufügen nur wie mach ich das?? ich seh da irgendwie nicht durch...

DeddyH 19. Apr 2008 19:47

Re: submenüs erzeugen
 
Ich habe es nicht mehr ganz im Kopf, aber ich glaube, mit ModifyMenu und MF_POPUP kommst Du weiter.

lbccaleb 20. Apr 2008 20:38

Re: submenüs erzeugen
 
*push*

weil ich komme immer noch nicht wirklich weiter in der hinnsicht...

_frank_ 21. Apr 2008 03:35

Re: submenüs erzeugen
 
soweit ich mich erinnern kann, musste man ein neues Kontextmenü erstellen und dieses beim erstellen des Parent-Menüitems mit übergeben. evtl. gehts aber auch ähnlich mit ModifyMenu...

in einem älteren Programm (Shellextension mit Untermenü) hab ich folgende Zeilen:

Delphi-Quellcode:
  //first:=idCmdFirst;
  hSub:=CreatePopupMenu();

  //UnterMenü füllen
  AppendMenu(hSub,MF_STRING or MF_BYPOSITION, idCmdFirst, 'Dateien anzeigen');

  //Haupteintrag erstellen
  InsertMenu ( Menu, indexMenu, MF_BYPOSITION or MF_POPUP,hSub, 'Haupt-Eintrag' );
HTH Frank

lbccaleb 10. Mai 2008 17:37

Re: submenüs erzeugen
 
ich habs jetzt rausbekommen wie es genau geht, naja hätt ich eigentlich auch gleich drauf kommen können!! :wall: :wall:

naja wen es intressiert der kann hier nen kleinen blick haschen wie ichs gemacht hab..:


Delphi-Quellcode:
            hm := CreatePopupMenu; // hauptmenü erstellen
            hmsub := CreatePopupMenu; // Untermenü erstellen

            AppendMenu(hmsub, MF_STRING, IDM_ENGLISH, 'English'); //untermenü mit links versehen

            AppendMenu(hm, MF_STRING, IDM_SHOW, 'Show'); //hauptmenü mit links versehen
            AppendMenu(hm, MF_POPUP, hmsub, 'haupmenü'); //untermenü dem hauptmenü zuordnen

            DestroyMenu(hmsub); // und natürlich alles wieder beseitigen
            DestroyMenu(hm); // und natürlich alles wieder beseitigen
das sollte reichen!! ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:34 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz