Entwickler-Ecke

Windows API - Eigenes Eintrag In Taskleiste für Untergeordnente Formulare


Baumunk - Di 06.09.05 15:16
Titel: Eigenes Eintrag In Taskleiste für Untergeordnente Formulare
Hallo

Ich da eine Frage,

Ich brauche eine Programm zu schreiben wo Forms Einträge in der Taskleiste vorhanden, also al’a Microsoft Word oder Excel.
Damit jeder Fender eigenes Eintrag in Taskleiste hat, habe Procedure CreateParams überschrieben:


Delphi-Quelltext
1:
2:
3:
4:
5:
procedure TForm3.CreateParams(var Params: TCreateParams);
Begin
  Inherited;
  Params.ExStyle := Params.ExStyle or WS_EX_APPWINDOW;
End;


Da gibt’s allerdings ein unschönes Effekt, wenn zwei Untergeordnete Fenster geöffnet sind, kann man über Taskleiste zwischen den auch umschalten, man kann aber nicht zu Hauptformular über Taskleiste eintrag wechseln. Es wird immer das letzte aktives Formular in der Anwendung gewählt!.

Wer weißt was ich in Programm ändern muss, damit es beim klicken auf Taskleisteeintrag zu Hauptfenser auch Hauptfenster gewählt wird.


DBR - Sa 10.09.05 13:46


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
type
  TForm3 = class(TForm)
  private
    { Private-Deklarationen }
  public
    procedure CreateParams(var Params: TCreateParams); override;
  end;

var
  Form3: TForm3;

implementation

{$R *.DFM}

procedure TForm3.CreateParams(var Params: TCreateParams);
begin
  inherited CreateParams(Params);
  Params.WndParent := GetDesktopWindow;
  Params.Caption := 'Dritte Form';
end;



Bei Form 2 muss es natürlich genauso eingetragen werden.

Gruß DBR


Baumunk - Sa 10.09.05 19:53

Hallo BRD,

Danke dass Funktioniert