窗体自适应分辨率

窗口、控件以及字体大小均随分辨率而变化,让界面适应各种不同的分辨率。

var
FWidth: Integer;
begin
inherited;
if (Screen.width <> 1024) then
begin
FWidth := Self.width;
Scaled := True;
Font.Size := (Self.width DIV FWidth) * Font.Size; // 字体大小调整
ScaleBy(Screen.width, 1024); // 控件大小调整
Self.Height := longint(Height) * longint(Screen.Height) DIV 768;
Self.width := longint(width) * longint(Screen.width) DIV 1024; // 窗口大小调整
end;
FScale := Screen.width / 1024;

if FScale <> 1 then
begin
for i := 0 to DBGrid1.Columns.Count - 1 do
begin
if DBGrid1.Columns[i].Visible then
begin
DBGrid1.Columns[i].width := Trunc(DBGrid1.Columns
[i].width * FScale);
end;
end;
end;

posted @   delphi中间件  阅读(1106)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示