![]() |
Skalier-Bibliothek ergänzen?
Hallo Jungs,
ich habe eine Bibliothek die mir meine Anwendung skaliert. Das Problem ist aber, ich möchte keine skalierten Bilder haben, oder Labels wo ich ein Size gesetzt habe. Könnt ihr mir helfen die Images sowie die Labels, wo Font.Size<>0 aus dem Code auszuschließen? Vielen Dank! Entwickelt wir mit Lazarus.
Delphi-Quellcode:
unit uscaledpi;
{$mode objfpc}{$H+} interface uses Forms, Graphics, Controls; procedure HighDPI(FromDPI: Integer); procedure ScaleDPI(Control: TControl; FromDPI: Integer); implementation procedure HighDPI(FromDPI: Integer); var i: Integer; begin for i:=0 to Screen.FormCount-1 do ScaleDPI(Screen.Forms[i],FromDPI); end; procedure ScaleDPI(Control: TControl; FromDPI: Integer); var n: Integer; WinControl: TWinControl; begin if Screen.PixelsPerInch = FromDPI then exit; with Control do begin Left:=ScaleX(Left,FromDPI); Top:=ScaleY(Top,FromDPI); Width:=ScaleX(Width,FromDPI); Height:=ScaleY(Height,FromDPI); Font.Height := ScaleY(Font.GetTextHeight('Hg'),FromDPI); end; if Control is TWinControl then begin WinControl:=TWinControl(Control); if WinControl.ControlCount > 0 then begin for n:=0 to WinControl.ControlCount-1 do begin if WinControl.Controls[n] is TControl then begin ScaleDPI(WinControl.Controls[n],FromDPI); end; end; end; end; end; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz