Hello Guys
I tried this Tutorial :
https://wiki.lazarus.freepascal.org/High_DPI/de#SCHRITT_1_-_Deklarieren_Sie_High_DPI_AwarenessBut it did just work half way. If windows is trying to Scale the Application it gets blurred (if i don't mistake
... sorry heard of this the first time today). i will add some attachements with Pictures how it looks.
I do achiev to get a Sharp(non blurred) picture, but thats all. I did not Fully understand the Tutorail so i wanted to ask if some1 could tell me how i should handle every Single Control in relation to the Scaling. I did Position every Single Component with "Anchors".
here some Code which might impact this
Form Resize Procedure:
procedure TStartUp.FormResize(Sender: TObject);
var
i : Integer;
begin
// Größe und Position der Steuerelemente anpassen
GroupBox1.Width := Self.Width - 16;
TxProjectNr.Width := round(160 + (GroupBox1.Width - 920) / 3);
TxClient.Width := TxProjectNr.Width;
TxPosition.Width := TxProjectNr.Width;
TxBuilding.Width := TxProjectNr.Width;
TxArrange.Width := TxProjectNr.Width;
// Devicedata Box
ZLDeviceData.Width := round((Self.Width - 24) / 2);
ALDeviceData.Width := ZLDeviceData.Width;
//Zuluft
TxSUairflow.Width := round((ZLDeviceData.Width - (920 / 2)) / 3.5);
LblSUtype.Width := TxSUairflow.Width;
TxSUdpext.Width:= round((ZLDeviceData.Width - (920 / 2)) / 3.5);
TxSUdptot.Width:= TxSUairflow.Width;
CBSUacc.Width:= TxSUairflow.Width;
CBSUconn.Width:= TxSUairflow.Width;
BtnSUsize.Width:= round((TxSUdptot.Width / 3) * 2) - 4;
SUSize.Width:= round(TxSUdptot.Width / 3) - 4;
//Abluft
TxEXairflow.Width := round((ZLDeviceData.Width - (920 / 2)) / 3.5);
LblEXtype.Width := TxEXairflow.Width;
TxEXdpext.Width:= round((ZLDeviceData.Width - (920 / 2)) / 3.5);
TxEXdptot.Width:= TxEXairflow.Width;
CBEXacc.Width:= TxEXairflow.Width;
CBEXconn.Width:= TxEXairflow.Width;
BtnEXsize.Width:= round((TxEXdptot.Width / 3) * 2) - 4;
EXSize.Width:= round(TxEXdptot.Width / 3) - 4;
// Zeichenfläche
Drw.Top:= ZLDeviceData.Top + ZLDeviceData.Height + 8;
Drw.Width := Self.Width - 24 - GBAirDir.Width;
Drw.Height := Self.Height - Drw.top - 30;
// Skalierung der Zeichenfläche anpassen
ScaleDRW;
// Größe der Icons anpassen (müssen nochmals neu geladen werden)
InitBTLIcons;
InitBTLWkzIcons;
end;
Wrote this in FormCreate of MainForm (Just to test on main Form) :
ScaleDPI(Self, 96); // 96 DesignTime DPI Wert
Any Help would be Welcome (Excuse my English ... still young, still learning)
Ps: Pictures Size was to large --> 4 Pics in the Zip