![]() |
Verfügbarer Platz in der Taskleiste
Hi,
kommt man an den Platz in der Taskleiste, neben den offenen Fenstern ran, ohne das ganze über die Breite und anzahl offener Fenster auszurechnen? Gruss... |
Re: Verfügbarer Platz in der Taskleiste
du könntest anhand der Classnames das Handle ermitteln von dem Fenster wo die Programmbtns drauf liegen.
Die Hierarchy ist wie folgt (Klassennamen)
Code:
Wenn man also das ToolbarWindow32 mit ShowWindow ausblendet würde man die Buttons für die Programme nicht sehen. Anstelle von Ausblenden kannst du natürlich auch die Breite dann ermitteln.
Shell_TrayWnd
ReBarWindow32 MSTaskSwWClass ToolbarWindow32 Mit folgendem Source könnte man also die größe abfragen
Delphi-Quellcode:
Das Problem ist das man dabei die breite bekommt welche für die Fenster vorgesehen ist. Man weiß aber damit nicht wieviel FensterBtns drauf plaziert sind und wieviel Platz diese In Anspruch nehmen. Man kann also höchstens schauen wieviel Platz neben der Fensterleiste ist.
function LGetHandle(AHandleSrc: Cardinal; var AHandleDst: Cardinal): Cardinal;
begin AHandleDst := AHandleSrc; result := AHandleDst; end; var LHandle: Cardinal; LPlacement: TWindowPlacement; begin if LGetHandle(FindWindow('Shell_TrayWnd', nil), LHandle) <> 0 then if LGetHandle(FindWindowEx(LHandle, 0, 'ReBarWindow32', nil), LHandle) <> 0 then if LGetHandle(FindWindowEx(LHandle, 0, 'MSTaskSwWClass', nil), LHandle) <> 0 then if LGetHandle(FindWindowEx(LHandle, 0, 'ToolbarWindow32', nil), LHandle) <> 0 then begin if GetWindowPlacement(LHandle, @LPlacement) then ShowMessage(inttostr(LPlacement.rcNormalPosition.Right - LPlacement.rcNormalPosition.Left)); end; Wozu brauchst du das ganze? Vielleicht gibt es ja für das Ziel welches du erreichen willst eine bessere Lösung wo dieser Wert keine Rolle spielt. |
Re: Verfügbarer Platz in der Taskleiste
Es gibt eine API, um die Schaltflächen in der Taskbar zu managen. Frag mich aber nicht, wo du im PSDK die Dokumentation dazu findest. :(
|
Re: Verfügbarer Platz in der Taskleiste
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Mal ein Foto gemacht, damit wir auch nicht aneinander vorbei reden, also der Abstand, zwischen den zwei Pfeilen, der ja immer davon abhängig ist, wieviele Fenster gerade offen sind. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:19 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