這個方法是在Lazarus高DPI控制位置移動問題與解決 - 禁衛軍 - 博客園基礎上改進的:
procedure TForm1.FormCreate(Sender: TObject); begin if Screen.PixelsPerInch<>self.DesignTimePPI then begin ScaleBy(self.DesignTimePPI,Screen.PixelsPerInch); end; end;
windows:
左中2圖是在虛擬機運行時的界面:
左邊的圖:沒進行DPI處理
中間的圖:用上面的代碼處理
右邊的圖:在lazarus編程(Design)電腦運行時的界面

交叉編譯后在Linux運行:
左邊的圖:沒處理DPI
右邊的圖:用上面的方法處理DPI后的界面

浙公網安備 33010602011771號