On my computer I also noticed many problems with correct display of skins on 4K monitors:
1. When the window has the BorderStyle parameter set to bsDialog there is an additional bright frame of a few pixels width on the window.
2. The same appears on pop-up messages “ShowMessage” and its like.
3. There is a bigger problem with correctly displaying items on TsPanel when it contains several VCL controls with alBottom alignment set. Of course this occurs when a frame is displayed in real mode. Only resizing the window causes all the elements to be displayed legally. When the sFrameAdapter is removed from the frame the problem with correct display does not occur.
Same problem. This is a simple form with a button.
BorderStyle set to bsDialog. If you set ExtendedBorders to true, you get additional white line on top.
4k monitor with 200% scaling
Well, that didn’t work like it should. I changed it to…
function TacDialogWnd.FixedFrame: integer;
begin
if Screen.PixelsPerInch <> 96 then
Result := ac_GetSysMetrics(SM_CXPADDEDBORDER, GetWndPPI(CtrlHandle))
else
Result := ac_GetSysMetrics(SM_CXFIXEDFRAME, GetWndPPI(CtrlHandle));
end;