Einzelnen Beitrag anzeigen

tyb

Registriert seit: 11. Jun 2007
7 Beiträge
 
#1

Popup-Window wie Code Complete

  Alt 12. Sep 2007, 14:33
Hallo

Ich möchte ein Fenster-Control schreiben, welches von der MainForm losgelöst ist, beim Aktivieren jedoch den Fokus der Form nicht wegnimmt.

Dieses Verhalten sieht man beim Auto Complete Fenster in Delphi: Wenn man Ctrl-Leertaste drückt, sieht man ein Control, welches über den Fensterrand ragen kann. Diese Liste kann mit einem Klick aktiviert werden, man kann scrollen, Einträge auswählen, etc., dabei bleibt das dahinterliegende Fenster (Quelltexteditor) aber immer aktiv.

Wie erzeuge ich so ein schwebendes Fenster, welches den Fokus nicht stiehlt?

Ich habe bisher schon versucht, CreateParams zu überschreiben und dort WndParent auf den DesktopWindow zu setzen:
Delphi-Quellcode:
procedure TMyPopupWindow.CreateParams(var params: TCreateParams);
begin
  inherited;
  Params.WndParent := GetDesktopWindow;
end;
So schwebt mein Control zwar, jedoch akzeptiert es keine Klicks mehr.

Danke für jeden Tip!
  Mit Zitat antworten Zitat