Einzelnen Beitrag anzeigen

bernd2015
(Gast)

n/a Beiträge
 
#13

AW: Fensterrand erkennen bei Windows 10

  Alt 18. Sep 2015, 13:18
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
  Mit Zitat antworten Zitat