Position der Taskleiste auslesen?

Position der Taskleiste auslesen?

Beitragvon TT73GP7 » 3. Nov 2016, 09:14 Position der Taskleiste auslesen?

Hallo zusammen,

ich bin grade Stolz wie Oska weil ich das erste riesen Update der Software so problemlos überstanden hab.
lach dachte ich :(

nun melden sich die Ersten Anwender (ist nee Firmen interne Anwendung)
einige Anwender finden es Toll die TaskLeiste Oben oder an der Rechten Seite zuhaben
joar nur ich Lese zur Laufzeit die Größe des Bildschirms aus und die Anwendung Startet immer oben Links (hat einen Grund warum genau da).

nun das Auslesen mit Screen.Width etc ja kein Problem
aber wie Finde ich denn nun her raus wo die Taskleiste ist und wie Große diese ist?

weil sonst verdeckt diese meine (MEINE) Anwendung.
und das geht überhaupt nicht :(

Viele Grüße
:)
TT73GP7
 
Beiträge: 182
Registriert: 29. Mär 2016, 19:45

Beitragvon theo » 3. Nov 2016, 09:33 Re: Position der Taskleiste auslesen?

Keine Ahnung, aber vielleicht weiß es Google?

https://www.google.de/search?q=lazarus+taskbar+position
theo
 
Beiträge: 7880
Registriert: 11. Sep 2006, 18:01

Beitragvon Michl » 3. Nov 2016, 10:25 Re: Position der Taskleiste auslesen?

Bei einem Monitor kann man sowas machen:
Code: Alles auswählen
uses ..., LCLIntf, LCLType, Math;
 
procedure TForm1.FormCreate(Sender: TObject);
var
  aLeft, aTop, aWidth, aHeight, aBorderWidth, aBorderHeigth,
  aCaptionHeight: Integer;
begin
  aLeft          := Screen.WorkAreaLeft;
  aTop           := Screen.WorkAreaTop;
  aWidth         := Screen.WorkAreaWidth;
  aHeight        := Screen.WorkAreaHeight;
  aBorderWidth   := GetSystemMetrics(SM_CXFRAME);
  aBorderHeigth  := GetSystemMetrics(SM_CYFRAME);
  aCaptionHeight := GetSystemMetrics(SM_CYCAPTION);
  aWidth         := aWidth - 2 * aBorderWidth;
  aHeight        := aHeight - 2 * aBorderHeigth - aCaptionHeight;
  //Bestimmte Größe
  aWidth         := Min(aWidth,  640);
  aHeight        := Min(aHeight, 480);
  SetBounds(aLeft, aTop, aWidth, aHeight);
end
Zuletzt geändert von Michl am 3. Nov 2016, 11:33, insgesamt 1-mal geändert.
Code: Alles auswählen
type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 
Michl
 
Beiträge: 2169
Registriert: 19. Jun 2012, 11:54
OS, Lazarus, FPC: Win7 Laz 1.7 Trunk FPC 3.1.1 Trunk | 
CPU-Target: 32Bit/64bit
Nach oben

Beitragvon TT73GP7 » 3. Nov 2016, 11:26 Re: Position der Taskleiste auslesen?

lach

da bin ich aber echt drauf reingefallen mit aTop und aLeft ;)

aber danke
nun läuft alles
TT73GP7
 
Beiträge: 182
Registriert: 29. Mär 2016, 19:45

Beitragvon Michl » 3. Nov 2016, 11:36 Re: Position der Taskleiste auslesen?

TT73GP7 hat geschrieben:da bin ich aber echt drauf reingefallen mit aTop und aLeft ;)
:lol: Danke für den Hinweis, hab es geändert. So ist es, wenn man nur halb bei der Sache ist...
Code: Alles auswählen
type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 
Michl
 
Beiträge: 2169
Registriert: 19. Jun 2012, 11:54
OS, Lazarus, FPC: Win7 Laz 1.7 Trunk FPC 3.1.1 Trunk | 
CPU-Target: 32Bit/64bit
Nach oben

• Themenende •

Zurück zu Windows



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

porpoises-institution
accuracy-worried