Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Programm vor die Taskleiste (https://www.delphipraxis.net/46474-programm-vor-die-taskleiste.html)

stefan2005 25. Mai 2005 13:35


Programm vor die Taskleiste
 
hi,
ich lasse mein Programm im Fullscreen laufen und hab das Form auf alClient gestellt, damit der ganze Bildschirm bedeckt wird.
aber unten erscheint immer noch die taskleiste !
wie kann ich es machen, dass mein programm den ganzen Bildschirm für sich beansprucht ?

cu,
stefan2005

Luckie 25. Mai 2005 14:01

Re: Programm vor die Taskleiste
 
Direkt von jemanden, der es wissen muss, da er selber zu dem team gehört, welches das verbrochen hat :mrgreen: : http://blogs.msdn.com/oldnewthing/ar...05/414910.aspx

stefan2005 25. Mai 2005 17:31

Re: Programm vor die Taskleiste
 
hi,
ja mit nonvcl hab ich es schon geschafft, aber wie mache ich das mit der Delphi-VCL, da ich für ein größeres Projekt doch lieber die Delphi-Forms hernehme ?

cu,
stefan2005

Luckie 25. Mai 2005 17:35

Re: Programm vor die Taskleiste
 
Was hindert dich daran dies bischen Code mit deinem VCL Code zu mischen?

stefan2005 25. Mai 2005 17:38

Re: Programm vor die Taskleiste
 
hi,
soweit ich gesehen habe, wird das gleich bei CreateWindowEx festgelegt, als Style ein WS_POPUP.
aber wie kann man dann zur Laufzeit diese Styles ändern ?

P.S.: außerdem wird die Seite zu 90% nicht gefunden

cu,
stefan2005

Luckie 25. Mai 2005 17:43

Re: Programm vor die Taskleiste
 
Guck dir im PSDK mal MSDN-Library durchsuchenGetWindowLong und MSDN-Library durchsuchenSetWindowLong an.

Die Seite geht aber hundert prozentig.

Jarmen_Kell 25. Mai 2005 18:04

Re: Programm vor die Taskleiste
 
Also bei mir gings mit
Mainform.WindowState:=WSMaximized

... wenn auch eher ungewollt, da bei mir die Taskleiste eigentlich da bleiben sollte^^

stefan2005 25. Mai 2005 19:37

Re: Programm vor die Taskleiste
 
hi,
also wenn ich:
Delphi-Quellcode:
Mainform.WindowState := wsMaximized;
mache, dann wird trotzdem die Taskleiste angezeigt.
Vielleicht hat die Option "Taskleiste fixieren" oder so einen Einfluss darauf ?

cu,
stefan2005

perle 26. Mai 2005 07:15

Re: Programm vor die Taskleiste
 
normal geht das wie schon gesagt wurde mit SetWindowLong. Ansonsten kannst du doch die Taskleiste auch einfach ausblenden solange dein Programm läuft :

Code:
ShowWindow(FindWindow('Shell_TrayWnd',nil),SW_HIDE);  // SW_SHOW zum anzeigen.

stefan2005 26. Mai 2005 14:38

Re: Programm vor die Taskleiste
 
hi,
ja natürlich wäre das eine Möglichkeit, aber ich verändere da ungerne etwas, da wenn mein Programm irgendwie abstützten oder sonstige Fehler machen sollte, dann wäre die Taskleiste danach verschwunden.

cu,
stefan2005

Matze 26. Mai 2005 14:42

Re: Programm vor die Taskleiste
 
Bei mir geht es mit
Delphi-Quellcode:
FormSTyle := fsStayOnTop;

Jarmen_Kell 26. Mai 2005 15:14

Re: Programm vor die Taskleiste
 
Zitat:

Zitat von stefan2005
hi,
also wenn ich:
Delphi-Quellcode:
Mainform.WindowState := wsMaximized;
mache, dann wird trotzdem die Taskleiste angezeigt.
Vielleicht hat die Option "Taskleiste fixieren" oder so einen Einfluss darauf ?
[...]

Hab grad was ausprobiert. Also die Taskleiste verschwindet mit diesem Befehl anscheinend nur, wenn der Form.BorderStyle auf

bsDialog,
bsnone,
bsToolWindow

ist.

stefan2005 26. Mai 2005 17:03

Re: Programm vor die Taskleiste
 
hi,
danke !
mein programm läuft zwar schon mit bsNone dann, aber zum Testen hatte ich bsSizeable gehabt :wink:

cu,
stefan2005

turboPASCAL 26. Mai 2005 18:32

Re: Programm vor die Taskleiste
 
Hi,
Wenn die TaskLeisten-Eigenschaft "Taskleiste immer in Vordergrund halten"
akt. ist wird das mit den Einst. der Form nicht funktionieren.
Ich würde es machen wie >perle.

Schalte doch in deinem Prog. in der procedure TForm1.FormClose... die Taskl. wieder ein.

Schreib dir ein kleines Prog. das die Taskleiste einbendet,
und mach ne' Verknüpfung auf den Desktop, im Falle das dein Prog. abstützt.

Delphi-Quellcode:
procedure ShowTaskBar(bShow: Boolean);
begin
  if bShow = True
    then ShowWindow(FindWindow ('Shell_TrayWnd',nil), SW_SHOWNA)
    else ShowWindow(FindWindow ('Shell_TrayWnd',nil), SW_HIDE);
end;

SirThornberry 26. Mai 2005 18:35

Re: Programm vor die Taskleiste
 
also bei mir funktioniert das ganze wunderbar wenn ich borderstyle auf bsNone habe. Ansonsten eben mit SetWindowLong machen (wurde ja bereits gepostet)

stefan2005 26. Mai 2005 18:37

Re: Programm vor die Taskleiste
 
hi,
wenn bei meinem Programm irgendein Ausnahmefehler auftreten sollte, der u.a. sofort mein Programm beenden, wird doch sicher dann nicht mehr OnClose aufgerufen, oder ?

cu,
stefan2005

Jarmen_Kell 26. Mai 2005 19:11

Re: Programm vor die Taskleiste
 
"Wenn die TaskLeisten-Eigenschaft "Taskleiste immer in Vordergrund halten"
akt. ist wird das mit den Einst. der Form nicht funktionieren."

Oooh doch :)

Meine Taskleiste:
TL fixieren: an
TS aut. ausblenden: aus
TL immmer im Vordergrund: an
Ähnliche Elemente grupieren: aus
SSL anzeigen: an

.. nur mal so ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:49 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-2025 by Thomas Breitkreuz