Autor Beitrag
JJ
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 100

Windows XP 64 bit!
delphi 5
BeitragVerfasst: Do 15.09.05 18:39 
Hallo all ihr Forumuser.
Erstmal super Community. Muss ich einfach nochmal sagen ,da ich in letzter Zeit sehr vom Archiv dieses Forums profitiert habe (durch die Suchfunktion).
Leider habe ich keinen Befehl gefunden mit dem ich die Höhe der Startleiste auslesen kann.
ich möchte eine form konstruieren die sich immer an die startleiste dranbappt ;) ...egal ob sie nun grad klein oder vollständig ausgefahren ist. aber die höhe der startleiste ist ja immer anders oder? ich meine kann ja sein ,dass der style geändert wurde
kann ich diesen wert in pixel auslesen?
(HAbe mich bemüht eine Antwort mit der Suchfunktion zu finden, habe aber leider nichts finden können.sry falls es da doch was gab)
grüße
JOnas

Moderiert von user profile iconUGrohne: Titel korrigiert.

_________________
Hallo!
worm
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 135


D6 Prof
BeitragVerfasst: Do 15.09.05 18:59 
Solange Du mit ein- und ausgefahren nicht die Funktion "Automatisch im Hintergrund" meinst und solange Du nicht für mehrere Monitore gerüstet sein musst, kannst Du mit Screen.WorkAreaRect genau das Rechteck auf dem Bildschirm ermitteln, dass nicht von Task- oder anderen festen Leisten belegt ist (z.B. könnte der User auch ein Shell-Replacement wie Litestep installiert haben). So kannst Du Dein Programm dann z.B. an den unteren Rand dieses Rechtecks bringen.
Mit Form1.Monitor.WorkAreaRect sollte dies auch bei Systemen mit mehreren Monitoren funktionieren.

_________________
In the beginning, the universe was created. This has made a lot of people very angry, and is generally considered to have been a bad move.
GTA-Place
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
EE-Regisseur
Beiträge: 5248
Erhaltene Danke: 2

WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
BeitragVerfasst: Do 15.09.05 19:05 
Kannst die Höhe aber glaub auch so ausrechnen:
ausblenden Delphi-Quelltext
1:
Startleiste := Screen.Height - WorkArea.Height;					

_________________
"Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
worm
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 135


D6 Prof
BeitragVerfasst: Do 15.09.05 19:18 
user profile iconGTA-Place hat folgendes geschrieben:
Kannst die Höhe aber glaub auch so ausrechnen:
ausblenden Delphi-Quelltext
1:
Startleiste := Screen.Height - WorkArea.Height;					
Ja, und das dann wieder von der Bildschirmhöhe abziehen, um die nötige Formularposition zu bestimmen :nut:. Gleich Screen.WorkArea.Rect.Bottom zu nehmen, ist bei dem, was er vorhat, einfacher (und funktioniert auch, wenn oben und unten 'ne Leiste ist).
Aber hast Recht, als Antwort auf seine direkte Frage ist Deins richtig und vielleicht sucht ja mal jemand danach!

_________________
In the beginning, the universe was created. This has made a lot of people very angry, and is generally considered to have been a bad move.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 15.09.05 23:30 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TForm1.Button1Click(Sender: TObject);
var
  rect: TRect;
begin
  GetWindowRect(FindWindow('Shell_TrayWnd', nil), rect);
  ShowMessage(IntToStr(rect.Bottom - rect.Top));
end;
matze
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 4613
Erhaltene Danke: 24

XP home, prof
Delphi 2009 Prof,
BeitragVerfasst: Fr 16.09.05 09:03 
@Luckie: Das geht dann aber nicht, wenn der User seine Startleiste an den rechten oder Linken Rand gezogen hat, oder ?

_________________
In the beginning was the word.
And the word was content-type: text/plain.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 16.09.05 13:13 
Dann funktionieren aber alle anderen Lösungsvorschläge genauso wenig. ;)
JJ Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 100

Windows XP 64 bit!
delphi 5
BeitragVerfasst: Fr 16.09.05 18:14 
hm... also vielleicht stelll ich mich ja blöd an aber workarea kennt der net

_________________
Hallo!
JJ Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 100

Windows XP 64 bit!
delphi 5
BeitragVerfasst: Fr 16.09.05 18:32 
ah ... jetzt hats gefunzt ... hab den aneren befehl benutzt ... vielen dank an alle :)

_________________
Hallo!