Einzelnen Beitrag anzeigen

Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#3

Re: Controls in fremden Anwendungen erstellen

  Alt 11. Aug 2008, 18:44
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 ...
  Mit Zitat antworten Zitat