Also zum positionieren oben links mache ich es so:
Delphi-Quellcode:
procedure TForm1.FensterAusrichten;
var
DeskDC : hDC;
ScreenClientRect : TRect;
begin
DeskDC := GetDC(0);
SystemParametersInfo(SPI_GETWORKAREA,SizeOf(ScreenClientRect),@ScreenClientRect,0);
ReleaseDC(0,DeskDC);
SetBounds(ScreenClientRect.Left,ScreenClientRect.Top,Width,Height);
end;
Geht jetzt davon aus, das Fensterhöhe/Breite beibehalten werden soll und berücksichtigt auch unterschiedliche Positionen der Taskbar.
Für rechts oben dann (die letzte Zeile) so:
SetBounds(ScreenClientRect.Right - Width,ScreenClientRect.Top,Width,Height);