同分辨率的下的控件布局(100分)

  • 主题发起人 主题发起人 AsleepAnge
  • 开始时间 开始时间
A

AsleepAnge

Unregistered / Unconfirmed
GUEST, unregistred user!
如何在不同分辨率下进行控件的布局,例如在800*600下,或者在1024*768下.
我做了一个简单的地图分布,上面按地理位置分布着相应的显示控件,可是在不同分辨率下控件的位置都改变了,这个问题如何解决?有没有可以自动适应不同屏幕分辨率的控件?
 
const
ScreenWidth: LongInt = 1024;
{设计期显示器分辩率}
ScreenHeight: LongInt = 768;
{适应分辨率}
Scaled :=true;
if (screen.width <> ScreenWidth) then
begin
height := longint(height) * longint(screen.height) div ScreenHeight;
width := longint(width) * longint(screen.width) div ScreenWidth;
scaleBy(screen.width, ScreenWidth);
end;
 
谢谢newmoonfaw
但是scaleBy函数只是改变了字体的大小,却并不能改变控件的大小和位置...
 
除了记录坐标外还要记录每个控件相对原点的位置 分辨率变化或界面大小变化时按比例重新计算坐标和大小
 
应该可以啊,只要把上述代码加到TForm.create事件中即可以。
 
后退
顶部