Delphi-PRAXiS
Seite 1 von 2  1 2   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Windows Taskbar ausgeblendet, krieg den Streifen nicht weg (https://www.delphipraxis.net/204766-windows-taskbar-ausgeblendet-krieg-den-streifen-nicht-weg.html)

MyRealName 27. Jun 2020 09:14

Windows Taskbar ausgeblendet, krieg den Streifen nicht weg
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

ich kämpfe gerade mit folgendem :
Ich blende die Taskbar von Windows im Fullscreen (WindowState := wsMaximized, BorderStyle=bsNone, fsStayOnTop) aus

Code:
ShowWindow(FindWindow('Shell_TrayWnd', nil), SW_HIDE);
und beim Beenden des Programs dann halt wieder ein.
Code:
ShowWindow(FindWindow('Shell_TrayWnd', nil), SW_SHOW);
Leider bleibt ein Streifen in der Höhe der Taskbar unter der Anwendung und denm kriege ich nicht weg. (Screenshot im Anhang)

Ich habe WindowsState verändert, Self.Height/Width neu gesetzt (welche übrigends die volle Bildschirmgröße angeben von 5120x1440, obwohl ich den Streifen ja sehe und das dürfte garkeine 1440 Höhe haben)...
Hat das schonmal jemand gehabt ? Gibts da eine Lösung ?

Danke schonmal

Uwe Raabe 27. Jun 2020 09:32

AW: Windows Taskbar ausgeblendet, krieg den Streifen nicht weg
 
Das ist etwas komplexer, da die Taskbar auch die Workarea des Desktop beschränkt. Versuch mal folgendes:
Delphi-Quellcode:
uses
  Winapi.ShellAPI;
var
  data: TAppBarData;
begin
  data.cbSize := Sizeof(data);
  data.hWnd := FindWindow('Shell_TrayWnd', nil);
  data.lParam := ABS_AUTOHIDE or ABS_ALWAYSONTOP;
  SHAppBarMessage(ABM_SETSTATE, data);
end;
Andersherum dann
Delphi-Quellcode:
data.lParam := ABS_ALWAYSONTOP;

Der schöne Günther 27. Jun 2020 09:37

AW: Windows Taskbar ausgeblendet, krieg den Streifen nicht weg
 
Verstehe ich nicht. Wozu das Herumspielen mit der Taskbar?

Im Formular-Designer
  1. BorderStyle auf bsNone setzen
  2. WindowState auf wsMaximized setzen
  3. ???
  4. Profit

MyRealName 27. Jun 2020 10:04

AW: Windows Taskbar ausgeblendet, krieg den Streifen nicht weg
 
Weil wenn Du das machst, bleibt die Taskbar dort. Und das will ich nicht. :)

MyRealName 27. Jun 2020 10:06

AW: Windows Taskbar ausgeblendet, krieg den Streifen nicht weg
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1468293)
Das ist etwas komplexer, da die Taskbar auch die Workarea des Desktop beschränkt. Versuch mal folgendes:
Delphi-Quellcode:
uses
  Winapi.ShellAPI;
var
  data: TAppBarData;
begin
  data.cbSize := Sizeof(data);
  data.hWnd := FindWindow('Shell_TrayWnd', nil);
  data.lParam := ABS_AUTOHIDE or ABS_ALWAYSONTOP;
  SHAppBarMessage(ABM_SETSTATE, data);
end;
Andersherum dann
Delphi-Quellcode:
data.lParam := ABS_ALWAYSONTOP;

Das geht, vielen Dank!

Der schöne Günther 27. Jun 2020 10:55

AW: Windows Taskbar ausgeblendet, krieg den Streifen nicht weg
 
Zitat:

Zitat von MyRealName (Beitrag 1468296)
Weil wenn Du das machst, bleibt die Taskbar dort. Und das will ich nicht. :)

Ich mache seit Jahren fast nur Vollbildanwendungen und mehr als das tue ich auch nicht. Und ich habe keine Taskbar 🤷

jaenicke 27. Jun 2020 11:01

AW: Windows Taskbar ausgeblendet, krieg den Streifen nicht weg
 
Unsere Kassenanwendung läuft auch immer im Vollbildmodus. Und da spielen wir auch nicht an der Taskleiste herum. Das funktioniert einfach mit einem frisch installierten Windows ganz normal wie auch mein Vorredner schon schrieb.

MyRealName 27. Jun 2020 11:32

AW: Windows Taskbar ausgeblendet, krieg den Streifen nicht weg
 
Scheinbar mache ich dann irgendwas falsch. Weil meine Anwendung ist auch erst im Startstatus und hat noch ncihts weiter ausser 2 Knöpfe :) kann mal einer von Euch eine Anwendung basteln, die das bei Euch richtig macht, die ich dann hier kompilieren kann und sehen, was passiert und wenn es funktioniert, was dann anders ist ?
Weil meine Anwendung mit den oben beschriebenen properties will nicht über die Taskbar und ich will nciht, dass der User die sieht, während meine Anwendung läuft :)

Uwe Raabe 27. Jun 2020 12:28

AW: Windows Taskbar ausgeblendet, krieg den Streifen nicht weg
 
Ich kriege das hier auch ganz einfach hin, z.B. mit folgendem Code im FormCreate:
Delphi-Quellcode:
  BorderStyle := bsNone;
  WindowState := wsMaximized;
Win10 1909, Delphi 10.4, Neue Windows-VCL-Anwendung

MyRealName 27. Jun 2020 14:43

AW: Windows Taskbar ausgeblendet, krieg den Streifen nicht weg
 
Erstaunlich, eine neue Anwendung macht das richtig. Ich muss mal suchen, welches der Unterschied ist zwischen meiner schon angefangenen und dieser


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:36 Uhr.
Seite 1 von 2  1 2   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz