控制界面自动适应分辨率的问题~~~ ( 积分: 30 )

  • 主题发起人 godo2004
  • 开始时间
G

godo2004

Unregistered / Unconfirmed
GUEST, unregistred user!
请教大家一个问题,我在给一个车间做的一个系统,我用的机子的分辨率是1026*768的,而他们用的是800*600(他们的机子不能调成1026*768的,因为他们机子比较老了,而且是一个老员工在用,眼睛又不好)的,这时候他们打开的界面全部变化掉了,我该怎么办,需要全部重新修改所有的那些界面吗,请高人指点,谢谢
我听说有代码可以控制界面自动适应分辨率的,请问谁有代码,怎么写,谢谢了!急用啊
 
请教大家一个问题,我在给一个车间做的一个系统,我用的机子的分辨率是1026*768的,而他们用的是800*600(他们的机子不能调成1026*768的,因为他们机子比较老了,而且是一个老员工在用,眼睛又不好)的,这时候他们打开的界面全部变化掉了,我该怎么办,需要全部重新修改所有的那些界面吗,请高人指点,谢谢
我听说有代码可以控制界面自动适应分辨率的,请问谁有代码,怎么写,谢谢了!急用啊
 
学技术来的 帮你顶顶
 
使你的form适应不同的显示分辨率
假设你在800*600的分辨率下设计的form,第一步:
inplementation
const
ScreenWidth: LongInt = 800;
{I designed my form in 800x600 mode.}
ScreenHeight: LongInt = 600;
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
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;
end;

下一步,要让每个子控制的字体改变到合适的大小:
type
TFooClass = class(TControl);
{ needed to get at protected }
{ font property }
var
i: integer;
begin
for i := ControlCount - 1do
wnto 0do
TFooClass(Controls).Font.Size :=
(NewFormWidth div OldFormWidth) *
TFooClass(Controls).Font.Size;
end;
 
http://www.delphibbs.com/delphibbs/dispq.asp?LID=3131375
 
多用panel,指定Align为left、right、top或bottom,那麽就固定了一边了!
然后再在这个panel上加入另外应该panel指定Align,
再在后一个panel上加入edit、combobox等!
一般按800×600设计,如果实际分辨率大于800×600多余部分使用Panel!
 
1026*768
把自己的显示器调节到800x600
 
顶部