[Back to DELPHI SWAG index] [Back to Main SWAG index] [Original]

    Is there an easy way to get the coordinates of the desktop window area that=
    is not covered by either windows 95 taskbar or windows 95 application bars?

    Following is a snippet that I use to center my forms within the
    screen.

    var
      r : TRect;
      osv : TOSVersionInfo;
    begin
      { Center the screen within the Windows95 'work area'.  If we're on Wind=
    ows NT3.Ex, then just center within the screen itself. }
      osv.EdwOSVersionInfoSize := sizeof(osv);
      GetVersionEx(osv);
      if osv.dwPlatformId = VER_PLATFORM_WIN32_WINDOWS then
      begin
        SystemParametersInfo(SPI_GETWORKAREA, 0, @r, 0);
        Left := ((r.right  - r.left) - Width)  div 2;
        Top  := ((r.bottom - r.top)  - Height) div 2;
      end else begin
        Left := (GetSystemMetrics(SM_CXSCREEN) - Width)  div 2;
        Top  := (GetSystemMetrics(SM_CYSCREEN) - Height) div 2;
      end;
    end;

[Back to DELPHI SWAG index] [Back to Main SWAG index] [Original]