Einzelnen Beitrag anzeigen

Benutzerbild von hitzi
hitzi

Registriert seit: 2. Jan 2003
Ort: Eibau
768 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Hint bringt Hauptform in den Vordergrund?!

  Alt 26. Mai 2008, 10:33
Ohne diese Zuweisung kann man das Hauptfenster nicht mehr vor das Extrafenster und wenn man das Hauptform minimiert wird automatisch auch die Extraform mit minimiert und das Taskbaricon der ExtraForm entfernt. Aber du hast Recht, ohne die Zuweisung funktioniert die Hintgeschichte so wie sie soll. Ich hätte aber trotzdem gern das Fensterverhalten, wie ich es bekomme, wenn ich den Parent ändere.

[EDIT] Auch die Nutzung von Application.MainFormOnTaskBar unter Delphi 2007 bringt nichts, da auch hier das Parent auf null gesetzt werden muss um das entsprechende Fensterverhalten zu bekommen.

[EDIT 2] Ich hab eine Lösung gefunden. Man muss einfach eine eigene Hintklasse nutzen, in welcher man mit CreateParams den Parent auf null setzt. Diese Hintklasse stellt mann dann noch Application vor und schon läuft alles

Hier ist der wichtige Teil des Quellcodes - im Anhang befindet sich nochmal das komplette Projekt:

Delphi-Quellcode:
program Project1;

uses
  Forms,
  Controls,
  Unit1 in 'Unit1.pas{frmMain},
  Unit2 in 'Unit2.pas{frmExtra};

{$R *.res}

type
  TFixedHintWindow = class(THintWindow)
  protected
    procedure CreateParams(var Params: TCreateParams); override;
  end;

procedure TFixedHintWindow.CreateParams(var Params: TCreateParams);
begin
  inherited;
  Params.WndParent := 0;
end;

begin
  Application.Initialize;
  HintWindowClass := TFixedHintWindow;
  Application.CreateForm(TfrmMain, frmMain);
  Application.Run;
end.
Angehängte Dateien
Dateityp: zip hintextraform_778.zip (217,2 KB, 33x aufgerufen)
Thomas
Besucht doch mal http://www.hitziger.net
  Mit Zitat antworten Zitat