Ich habe es geschafft - es ist also möglich
Das ist jetzt sicher nicht sauber, aber es hat funktioniert:
hwnd ist das
Handle des parents
wwmenubtn ist eine Klasenvariable
Delphi-Quellcode:
if Hwnd <> 0 then
begin
WWMenuBtn := TButton.Create(Self);
with WWMenuBtn do
begin
Left := 600;
Top := 1;
Width := 60;
Height := 18;
Caption := '&Plugins';
Parent := nil;
OldMenuBtnWndProc := WindowProc;
WindowProc := MenuBtnWndProc;
ParentWindow := MenuHwnd;
end;
end;
procedure TForm1.MenuBtnWndProc(var Msg: TMessage);
begin
if Msg.Msg = WM_LBUTTONUP then
begin
Beep;
end;
OldMenuBtnWndProc(Msg);
end;
Nachteil: man muss die Messages umleiten um sie zu bekommen ...