请问怎么让程序适应不同的分辨率?(200分)

  • 主题发起人 主题发起人 luckyfish
  • 开始时间 开始时间
L

luckyfish

Unregistered / Unconfirmed
GUEST, unregistred user!
我做了一个程序,有很多窗体和对话框,是在win98,800×600分辨率下做的,但是在
1024*768下显示的很乱,有些窗体下边的按钮就看不到,而且字体也有问题
请问大侠怎么解决?用tscreen吗?具体怎么用?要对每个新生成的窗体都设置吗?
200分!
 
const
Orignwidth= 800 ;
Orignheight= 600 ;
procedure TMainFrm.SetScreen;
begin
Height:=600;
Width :=800;
scaled:=true;
if (screen.width<>orignwidth) then
begin
height:=longint(height)*longint(screen.height) div orignheight;
width:=longint(width)*longint(screen.width) div orignwidth;
scaleby(screen.width,Orignwidth);
end;
end;
 
在主窗体的创建事件里加入那个过程就可以了
 
兩個API函數 EnumDisplaySettings() 和ChangeDisplaySettings()
可以修改分辨率及刷新率。看看SDK吧
這裡再看看,差不多的。http://www.delphibbs.com/delphibbs/dispq.asp?lid=2035445
 
关于字体显示问题
在设置字体时,选择CHinese,默认是西文字体
一些控件尽量调整为自适应大小
给分了.
 
1、先察看目前的分辨率,
2、江分辨率改到800*600,
3、退出时改回去
 
后退
顶部