Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Desktop, Koordinaten rechts unten über Startleiste (https://www.delphipraxis.net/122217-desktop-koordinaten-rechts-unten-ueber-startleiste.html)

hamburcher 11. Okt 2008 13:35


Desktop, Koordinaten rechts unten über Startleiste
 
Ein Progrämmchen von mir sollte rechts unten (sehr klein) in der Ecke direkt über dem Tray erscheinen, falls die Startleiste von Windows unten ist.

Wie bekomme ich heraus, wo die Startleiste überhaupt ist (oben, unten, rechts oder links)?

Wie bekomme ich heraus, wie hoch (oder breit) die Startleiste gerade ist?

D5 :-) uhd Vista :-(

Wonach sollte ich mit der SuFu der DP suchen lassen?

Dankeschön!

DeddyH 11. Okt 2008 13:47

Re: Desktop, Koordinaten rechts unten über Startleiste
 
Versuch es mal etwa so:
Delphi-Quellcode:
var aWnd: HWND;
    R: TRect;
begin
  aWnd := FindWindow('Shell_TrayWnd', nil);
  if aWnd <> 0 then
    begin
      GetWindowRect(aWnd,R);
      ShowMessage(Format('%d: %d, %d: %d',
                  [R.Left, R.Top, R.Right, R.Bottom]));
    end;
end;
Ob das unter Vista funzt, weiß ich allerdings nicht.

SirThornberry 11. Okt 2008 13:50

Re: Desktop, Koordinaten rechts unten über Startleiste
 
wie hoch die Startleiste ist braucht dich nicht zu interessieren weil es außer der Startleiste noch viele andere Leisten gibt. Letzendlich interessiert dich wo rechts unten der freie Bereich ist. Und der freie Bereich nennt sich Workarea. Mit SystemParametersInfo und SPI_GETWORKAREA solltest du diesen Bereich ermitteln können.

DeddyH 11. Okt 2008 13:52

Re: Desktop, Koordinaten rechts unten über Startleiste
 
Jens, wie sieht das aber dann bei Multimonitor-Betrieb aus? SystemParametersInfo war mir auch zuerst eingefallen, aber damit weiß ich immer noch nicht, wo sich die Taskleiste befindet, oder? Ich kann das leider nicht ausprobieren, da ich nur einen Monitor habe (ich armer Sack *g*).

Dezipaitor 11. Okt 2008 13:59

Re: Desktop, Koordinaten rechts unten über Startleiste
 
Nimm GetMonitorInfo für bestimmte Workareas.

Hawkeye219 11. Okt 2008 14:07

Re: Desktop, Koordinaten rechts unten über Startleiste
 
Hallo,
Zitat:

Zitat von Dezipaitor
Nimm GetMonitorInfo für bestimmte Workareas.

Delphi stellt (zumindest ab D6) bereits alle notwendigen Informationen im Array Screen.Monitors[] bereit.

Gruß Hawkeye

hamburcher 11. Okt 2008 14:21

Re: Desktop, Koordinaten rechts unten über Startleiste
 
Vielen Dank für die schnellen und *sehr* hilfreichen Antworten!

Hab' daher DeddyHs
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var R: TRect;
begin
  SystemParametersInfo(SPI_GETWORKAREA,0,@R,0);
  self.Left := R.Right - self.Width;
  self.Top := R.Bottom - self.Height;
end;
aus einem anderen Thread gerade ausprobiert, funktioniert wie gewünscht (mit D5 unter Vista).

(SystemParametersInfo und SPI_GETWORKAREA wären die beiden SuFu-Begriffe gewesen)

Thanks@all! :dp:

Dezipaitor 11. Okt 2008 20:58

Re: Desktop, Koordinaten rechts unten über Startleiste
 
Zitat:

Zitat von Hawkeye219
Hallo,
Delphi stellt (zumindest ab D6) bereits alle notwendigen Informationen im Array Screen.Monitors[] bereit.

Gruß Hawkeye


D5 auch, was der Fragesteller nur hat?

SirThornberry 11. Okt 2008 20:59

Re: [Gelöst] Desktop, Koordinaten rechts unten über Startlei
 
Naja, der Fragesteller hat in Windows API gepostet, verwendet also gegebenfalls nicht die VCL.

hamburcher 11. Okt 2008 22:00

Re: [Gelöst] Desktop, Koordinaten rechts unten über Startlei
 
Zitat:

Zitat von SirThornberry
Naja, der Fragesteller hat in Windows API gepostet, verwendet also gegebenfalls nicht die VCL.

Und eigentlich betrachtete ich mein Problem als gelöst.

Sweet Home Alabama All Summer Long!

AC/DC All Delphi Long...


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:07 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz