Da ich einige meiner Programme per Mausklick auf "optimale"
Fensterbreiten bringen möchte, habe ich mir was zusammengebastelt, was mit Win8.1 und 10 tadellos klappt.
Delphi-Quellcode:
function GetWinVersionAsInteger: Integer;
var
Version: TOSVersionInfo;
begin
Version.dwOSVersionInfoSize := SizeOf(OSVersionInfo);
GetVersionEx(Version);
Result := Version.dwMajorVersion * 10 + Version.dwMinorVersion;
end;
function GetXBorderWidth: Integer;
begin
Result := 0;
if GetWinVersionAsInteger >= 100 then
Result := -GetSystemMetrics(SM_CXSIZEFRAME);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
LabelWinVer.Caption := IntToStr(GetWinVersionAsInteger); //zur Kontrolle ob Manifest eingebunden wurde
end;
procedure TForm1.ButtonToLeftEdgeClick(Sender: TObject);
begin
Left := 0 + GetXBorderWidth; // Fenster an den linken "Aktivisten"-Rand
end;
procedure TForm1.ButtonToRiteEdgeClick(Sender: TObject);
begin
Left := GetSystemMetrics(SM_CXSCREEN) - Width - GetXBorderWidth; // Fenster an den rechten "bürgerlich besorgten" Rand
end;
Stets aktuell