AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Application.MainFormOnTaskbar wird ignoriert (10.4)
Thema durchsuchen
Ansicht
Themen-Optionen

Application.MainFormOnTaskbar wird ignoriert (10.4)

Ein Thema von himitsu · begonnen am 9. Aug 2020 · letzter Beitrag vom 27. Sep 2021
 
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.326 Beiträge
 
Delphi 12 Athens
 
#3

AW: Application.MainFormOnTaskbar wird ignoriert (10.4)

  Alt 9. Aug 2020, 20:12
Das mit dem ShowWindow hatte ich vorhin auch schon probiert.
Delphi-Quellcode:
Application.MainFormOnTaskbar := True;
SetWindowLong(Application.Handle, GWL_EXSTYLE, GetWindowLong(Application.Handle, GWL_EXSTYLE) or WS_EX_TOOLWINDOW);
ShowWindow(Application.Handle, SW_SHOWMINNOACTIVE);
Aber mit dem Nebeneffekt, dass ich dann das Fenster, also die Titelleiste, unten links auf dem Desktop sehen konnte, aber nicht in der Taskleiste.

Eigentlich wollte ich eine Lösung, die global ist und nicht in den Forms liegt, aber geht wohl nicht,
denn ich sah gerade eben, dass im Application.CreateForm die VCL nochmal an den Eigenschaften dem Applicaton-Form rumpfuscht.


Zum Testen einfach ein Sleep(10000) ins OnCreate der Form (MainForm).
Bis zum Anzeigen würde ich gern die Application-HWND (oder irgendwas) in der Taskleiste sehen wollen und danach (ab OnShow) dann die MainForm.

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Sleep(10000); // oder irgendwas Langwirigere
end;

{ --------------------- }

Application.Initialize;
Application.MainFormOnTaskbar := False;
//SetWindowLong(Application.Handle, GWL_EXSTYLE, GetWindowLong(Application.Handle, GWL_EXSTYLE) or WS_EX_TOOLWINDOW);
//ShowWindow(Application.Handle, SW_SHOWMINNOACTIVE);
//Application.ProcessMessages;

Application.CreateForm(TForm1, Form1);

Application.MainFormOnTaskbar := True;
Application.Run;
Mit ShowWindow oder gar mehr seh ich maximal das Fenster/Titelleiste, aber niemals den Button in der Statusleiste.

Einmal hatte ich es geschafft die Application-Form in die Taskleiste zu bekommen, aber weiß grad nicht mehr wie. (am Ende blieb die drin, auch wenn sie nach Durchlauf ja mit der MainForm wechseln sollte)


Aber egal ob True oder False, erst wenn/nachdem OnCreate fertig ist, wird etwas in der Taskleiste angezeigt und das ist immer nur die MainForm,
wie die Button-Caption und AeroPeak bestätigen -> Vorschau einer leeren Form oder der MainForm, wo ein Memo drauf ist.
Delphi-Quellcode:
Application.Initialize;
Application.MainFormOnTaskbar := False;
Application.CreateForm(TForm1, Form1);
Application.Run;
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 9. Aug 2020 um 20:14 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz