分辨率的问题,在窗体创建的事件输入下列代码试一试: begin 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;
比如你在1024*768下设计的程序
这样你的程序比如是1000个想素点宽;
而在98分辨率为800*600
于是有一部分就到了屏幕外面
好象窗口变大了一样
字体的变化是看你选择了什么字体
如果选择的字体在98下没有
则用defalut字体解决的方法就是设计的时候兼容一顶的分辨率,比如不考虑太大或太小的情况
或者就是动态根据并木分辨率
按比例调整一下大小
这个问题已经回答了有100遍了!!!是字体问题!!!
在Win9x下字体时没有字符集之分的,在Win 2000以后,字体是有字符集之分的!!!Delphi默认的字体的字符集是英文的,所以会发生混乱,只要将Win2000下程序的字体的字符集设置成中文就OK了!!!
98是ANSI与Unicode混合,而2000是Unicode!
所以,建议设置一下DELPHI的字符集!
最好在98下编译测试!
begin
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;
Orignwidth=800;
Orignheight=600;
解决办法如下:
form1.Font.Charset:=GB2312_CHARSET ;//设置窗体字符集为GB2312_CHARSET(简体中文)
form1.Font.Size:=9;//字体大小 9
form1.Font.Name:='宋体';//字符类型 宋体
保证解决你的问题
把所有字体改成arile(不知是否拼写错误)
你的问题我前阵子遇过,就是这样子解决的。