Höhe der Taskbar rausfinden

Anfängerfragen zum Programmieren mit PureBasic.
JohnMC
Beiträge: 85
Registriert: 06.01.2006 17:04
Wohnort: http://www.j-soft.de.ms
Kontaktdaten:

Höhe der Taskbar rausfinden

Beitrag von JohnMC »

Hallo mal wieder!

Ne Frage:
Wie kann ich dei Höhe der Taskbar raussfinden?

Weil ich möchte ein Fenster beim klick auf ein systray-symbol ein fenster öffnen, das 1pixel über der taskbar ist, dazu brauche ich doch die höhe der taskbar oder??

THX

JohnMC
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

gibts bestimmt auch ne API-funktion, um das unten rechts anzubinden - oder nich...?
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
PureLust
Beiträge: 1145
Registriert: 21.07.2005 00:02
Computerausstattung: Hab aktuell im Grunde nur noch 'nen Lenovo Yoga 2 Pro im Einsatz.
Wohnort: am schönen Niederrhein

Beitrag von PureLust »

Ich saß gerade an einem ähnlichen Problem. Hab daher zufällig eine Lösung parat:

Code: Alles auswählen

SystemParametersInfo_(#SPI_GETWORKAREA,0,@DesktopWorkArea.RECT,0)
TaskbarHeight = GetSystemMetrics_(#SM_CYSCREEN)-DesktopWorkArea\Bottom

Debug "TaskBarHeight = "+Str(TaskbarHeight)+" Pixel"
Nähere Infos dazu sowie weiteren Möglichkeiten der System Information Functions gibt's hier:

http://msdn.microsoft.com/library/defau ... rsinfo.asp
http://msdn.microsoft.com/library/defau ... etrics.asp

Nochmals big thanx to edel for his help!!! ;)

Grüße, PL.
[Dynamic-Dialogs] - komplexe dynamische GUIs einfach erstellen
[DeFlicker] - Fenster flimmerfrei resizen
[WinFX] - Window Effekte (inkl. 'durchklickbares' Window)
JohnMC
Beiträge: 85
Registriert: 06.01.2006 17:04
Wohnort: http://www.j-soft.de.ms
Kontaktdaten:

Höhe der Taskbar

Beitrag von JohnMC »

@ PureLust:

wenn ich den punkt 15pixel über der taskbar bekommen will, ist das doch desktopheight()-taskbarheight, oder?? weil bei mir klappts nicht....
Benutzeravatar
PureLust
Beiträge: 1145
Registriert: 21.07.2005 00:02
Computerausstattung: Hab aktuell im Grunde nur noch 'nen Lenovo Yoga 2 Pro im Einsatz.
Wohnort: am schönen Niederrhein

Re: Höhe der Taskbar

Beitrag von PureLust »

JohnMC hat geschrieben:wenn ich den punkt 15pixel über der taskbar bekommen will, ist das doch desktopheight()-taskbarheight, oder??
Nein, da fehlt leider noch so Einiges.
Genaugenommen müsstest Du die Y-Koordinate wie folgt bestimmen:
YPos des Fensters = DesktopHeight(0) - TaskbarHeight - 15 - FensteHöhe - FensterRahmenHöhe - TitelLeistenHöhe

Du musst halt berücksichtigen, dass bei OpenWindow() die X & Y Koordinaten die äusseren Koordinaten und Width & Height die inneren Abmessungen des Fensters sind !!!
Somit wird das letztendlich geöffnete Fenster also nochmals um die Höhe des Rahmens und der Titelleiste länger sein, als Du es per Height angegeben hast.
Diese Werte musst Du halt auch noch mit abziehen - oder Du machst ein Rahmenloses Fenster. ;)

PS: Um die TitelLeistenHöhe eines Fensters heraus zu bekommen, versuchs mal mit "SM_CYCAPTION" aus GetSystemMetrics (Link dazu, siehe oben).
Dort findest Du auch Angaben zur Rahmenstärke eines Fensters
[Dynamic-Dialogs] - komplexe dynamische GUIs einfach erstellen
[DeFlicker] - Fenster flimmerfrei resizen
[WinFX] - Window Effekte (inkl. 'durchklickbares' Window)
Benutzeravatar
Ja!
Beiträge: 271
Registriert: 02.01.2006 16:13
Wohnort: Stuttgart

Beitrag von Ja! »

..und was ist, wenn jemand die Taskbar auf
"Automatisch in den Hintergrund" gestellt hat?

Dann steht Dein Fenster in der Luft..oder?
PureBasic 3.94 ; 4.2 ; 4.3
Benutzeravatar
PBZecke
Beiträge: 399
Registriert: 02.09.2004 17:34

Beitrag von PBZecke »

Außerdem sollte beachtet werden, dass sich die Taskleiste auch oben, links,
oder am rechten Bildschirmrand befinden kann!

Edit:

Hab schnell mal gesucht. Das sollte helfen:


http://www.purebasic.fr/german/viewtopi ... ht=taskbar
Zuletzt geändert von PBZecke am 17.08.2006 18:29, insgesamt 1-mal geändert.
Nein, ich habe die Suche nicht benutzt, und deshalb auch nichts dazu gefunden... :lol:
Benutzeravatar
Ja!
Beiträge: 271
Registriert: 02.01.2006 16:13
Wohnort: Stuttgart

Beitrag von Ja! »

...ja und sie kann in der Höhe, bzw. Breite(wenn sie an der Seite sein sollte)
verändert/herausgezogen werden. :-)
PureBasic 3.94 ; 4.2 ; 4.3
JohnMC
Beiträge: 85
Registriert: 06.01.2006 17:04
Wohnort: http://www.j-soft.de.ms
Kontaktdaten:

Ohaaa

Beitrag von JohnMC »

Ohhaaa hey des is viel zu kompliziert hey da hab ich kein bock drauf
ich fetz des fenster einfach in die mitte und des wars..... :wink:
Antworten