使form适应不同的显示分辨率
2006-03-12 16:24
375 查看
版权声明
请尊重原创作品。转载请保持文章完整性,并以超链接形式注明原始作者“tingsking18”和主站点地址,方便其他朋友提问和指正。假设你在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;
下一步,要让每个子控制的字体改变到合适的大小:
下面是解决字体大小的代码:
USES typinfo; {Add this to your USES statement.}
var
i: integer;
begin
for i := componentCount - 1 downto 0 do
with components[i] do
begin
if GetPropInfo(ClassInfo, 'font') <> nil then
font.size := (NewFormWidth DIV OldFormWidth) * font.size;
end;
end;
========================================
使窗体大小不依耐屏幕的分辨率(T)
const
ScreenHeight:INTEger=800;
ScreenWidth:integer=600;
Prodedure Tform1.formcreate(Sender:tobject);
var
x,y:Longint;
begin
form1.scaled:=true;
x:=getsystemmetrics(SM_CXSCREEN);
y:=Getsystemmetrics(SM_CYSCREEN);
IF(X<> SCREENHEIGHT)or (Y<>SCREENWIDTH) then
BEGIN
FORM1.HEIGHT:=FORM1.HEIGHT*X DIV SCREENHEIGHT;
FORM1.WIDTH:=FORM1.WIDTH*Y DIV SCREENWIDTH;
scaleBy(X,SCREENHEIGHT);
END
end;
end;
相关文章推荐
- android 点九PNG技术 适应不同分辨率 完美显示效果
- android 点九PNG技术 适应不同分辨率 完美显示效果
- android 点九PNG技术 适应不同分辨率 完美显示效果
- android 点九PNG技术 适应不同分辨率 完美显示效果
- android 点九PNG技术 适应不同分辨率 完美显示效果
- css绝对定位如何在不同分辨率下的电脑正常显示定位位置?
- IOS开发中@2x图片等适应不同分辨率手机
- 两个并排的DIV 左面一个的width=175 右面的那个DIV如何自适应不同分辨率填充满屏幕
- ipad 不同分辨率下正确显示窗口组件
- Android程序对不同手机屏幕分辨率自适应的总结
- Android 实现图片的自动缩放,适应分辨率不同的手机
- Web页面根据不同的分辨率显示不同的图片
- VectorDrawable:适应不同分辨率的drawable资源
- 显示器分辨率不同,部分winform控件在其他机器上显示不全
- 解决qt在相同分辨率不同宽度的屏幕下字体显示位置不一样的问题
- 图片自适应不同分辨率屏幕
- html中怎么适应不同分辨率的显示器(如电脑和手机)
- 使用Fragment适应不同屏幕和分辨率
- css判断不同分辨率显示不同宽度布局实现自适应宽度
- window.open网页自适应不同分辨率方法