Laufzeit Menu Items

Hi!

Ich möchte gerne mit Delphi ein Menueintrag haben, dessen
Popup-Box ich selbst zur Laufzeit fülle. D.h. ich würde
TMenuItems selbst erzeugen (mit allen Events) und sie der Reihe nach angliedern.
Ich hatte mal ein Beispiel für ein (hand-made) WindowMenu. Dort wurden WindowsMessages verwendet. Leider finde ich diese Doku nicht mehr.
Was ich im Netz finde bezieht sich nur auf das SystemMenu, welches man anpassen kann.

Hat da jemand was ?

Danke & Gruss,
Bernd

Habs raus:

Zwei Funktionen:

procedure WMInitMenuPopup(var MSG: TWMInitMenuPopup);
message WM_INITMENUPOPUP;
begin
if (Msg.MenuPopup = .Handle) then
begin
idval := WM_USER;

AppendMenu(WindowMenu.Handle,MF_STRING, idval,
PChar(‚blabla‘);
idval := idval + 1;

end;
end;

procedure WMCommand(var Msg: TWMCommand);
message WM_COMMAND;
begin
if (Msg.ItemID >= WM_USER)
then ShowMessage('menupunkt '+ IntToStr(Msg.ItemID-WM_USER));
end;

Hoffe ich konnte helfen.

  • Ja, danke :wink:

Bernd