Seite 1 von 2

Taskleiste-Höhe einstellen [ ]

Verfasst: 18.05.2008 18:04
von RSBasic
Hallo :)

ich hab wieder ein API-Problem (wie immer^^)

Kurz und knapp: Wie kann man die Höhe der Taskleiste einstellen?

Ich hab da schon versucht, aber leider ohne Erfolg :(

Code: Alles auswählen

handle = FindWindow_("Shell_TrayWnd",0)
SetWindowPos_(handle,#HWND_TOPMOST,0,0,1280,20,#SWP_SHOWWINDOW|#SWP_NOMOVE) 
Könnt ihr mir helfen?

Danke im Voraus :D

Verfasst: 18.05.2008 20:41
von RSBasic
Bin etwas weitergekommen:

Code: Alles auswählen

SetWindowPos_(handle,0,0,0,1280,70,#SWP_NOZORDER|#SWP_NOSENDCHANGING)
Das Verkleinern/Vergrößern funktioniert eigentlich schon, nur nicht so richtig. :freak:
Die SysTray spielt nicht mit, außerdem brauche ich richtige Werte.
Manmchal zu klein, manchmal zu groß und manchmal ist die Taskleiste auf einmal oben :cry:

Kann einer mir helfen?

Verfasst: 18.05.2008 21:03
von Andreas
Versuch mal mit den Daten.

Code: Alles auswählen

BAR.APPBARDATA
BAR\cbSize = SizeOf(APPBARDATA)
BAR\hwnd = FindWindow_("Shell_TrayWnd",0)
SHAppBarMessage_(#ABM_GETTASKBARPOS,BAR)
Height = BAR\rc\bottom-BAR\rc\top
BAR\rc\top = BAR\rc\top-Height
SetWindowPos_(BAR\Hwnd,0,BAR\rc\left,BAR\rc\top,BAR\rc\right,BAR\rc\bottom-BAR\rc\top,#SWP_NOZORDER|#SWP_NOSENDCHANGING)

Verfasst: 18.05.2008 21:11
von RSBasic
@Andreas
Super! Vielen Dank API-König :mrgreen:

Eine Frage hätte ich noch...
>cY
>>BAR\rc\bottom-BAR\rc\top

Wie kann ich das selber bestimmen?
Wie sind die Werte? 20? 40? 60?
Oder muss ich da irgendwas beachten?
Ich komm damit nicht klar :cry:

Danke im Voraus.

Verfasst: 18.05.2008 21:29
von Andreas
Das sind Rechteckwerte aus der Struktur APPBARDATA.

Die Struktur wird mit SHAppBarMessage_(#ABM_GETTASKBARPOS,BAR)
eingelesen.

Mit (BAR\rc\bottom-BAR\rc\top) wird die Höhe der Taskbar berechnet.

Verfasst: 18.05.2008 22:04
von RSBasic
Der Code von dir ist schon perfekt, aber ich verstehe es trotzdem nicht, wie ich das selber bestimmen kann.

Eine normale Höhe der Taskleiste ist (circa) 30 Pixel.
Die doppelte Größe der Höhe der Taskleiste ist 60 Pixel.
Und dann immer so weiter.

Wie kann ich das selber einstellen, dass z.B. die Taskleiste 30 Pixel hoch sein muss oder 60 Pixel, wie?

Danke im Voraus :) :(

Verfasst: 18.05.2008 22:17
von ts-soft
in dieser Zeile:

Code: Alles auswählen

BAR\rc\top = ?
Wobei Du sinnvolle Werte nehmen solltest, damits wirkt :wink:

Verfasst: 18.05.2008 22:18
von Andreas_S

Code: Alles auswählen

BAR.APPBARDATA
BAR\cbSize = SizeOf(APPBARDATA)
BAR\hwnd = FindWindow_("Shell_TrayWnd",0)

SHAppBarMessage_(#ABM_GETTASKBARPOS,BAR)

Debug BAR\rc\top
Debug BAR\rc\bottom
Height = 60

SetWindowPos_(BAR\Hwnd,0,BAR\rc\left,BAR\rc\top,BAR\rc\right,Height,#SWP_NOZORDER|#SWP_NOSENDCHANGING)

Verfasst: 18.05.2008 22:33
von Andreas
ts-soft hat geschrieben:Wobei Du sinnvolle Werte nehmen solltest, damits wirkt :wink:
Nicht nur das ! Es gibt auch User die haben die Taskbar an der linken oder rechten Seite des Desktops.

Verfasst: 19.05.2008 19:39
von RSBasic
@Andreas
Hm...ich verstehe es immer noch nicht :lol: :roll:

Kannst du für mich folgendes machen?
1. Die Taskleiste soll unten sein
2. Soll 30 Pixel hoch sein (also 1ne Zeile)

Das wäre sehr nett von dir, wenn du das so "einrichtest"