关于自动适应不同的屏幕分辨率的问题(有源码,望大家看下)

时间:2022-08-27 06:02:58
不知大家注意没有,国内显示器分辨率高和宽的比是0.75,即高600、768...宽800、1024...,但现在我要做的是国际版,国外的显示标准和我国的不同,比如俄罗斯的是高702...宽935,高和宽的比是0.7508021,就是因为比例的不同,程序界面上的控件到处乱跑,现在烦啊,因为公司客户主要是国外,而我又没有国外的显示分辨率格式,只有等客户来投诉才明白是怎么回事,能不能有什么办法能做成一个国际通用的自动适应不同的屏幕分辨率。以下是我的一段代码 ,适用于中文版,即在国内的显示器上是能正确排列按钮的,看怎么改动一下,谢谢了
void __fastcall Tfrmmain:: ShowScreen() //自动适应不同的屏幕分辨率
{
 //程序设计时的屏幕分辨率
 long int MyScreenHeight=600;
 long int MyScreenWidth=800;
 Scaled=true;
 //按当前屏幕分辨率和程序设计时的屏幕分辨率来设置窗体的正确高度和宽度
 Width=Width*(float)Screen->Width/(float)MyScreenWidth;
 Height=Height*(float)Screen->Height/(float)MyScreenHeight;
 //自动调整窗体中控件的大小
 ScaleBy(Screen->Width,MyScreenWidth);
}
//--------------------------------------------------------

5 个解决方案

#1


你设置好Anchors就应该可以了,多使用panel,每个控件都放在一个panel上,我就是这样做的,今天才做好,呵呵。
——————————————————————————--------
||___________________panel2________________________________||
|------------------------------
||------||---------------------------------------------------
||      |||--------------------------------------------------
||      |||            panel5
||   p  |||-------------------------
||   a  ||---------------------------------------------------
||   n  |||                    panel6
||   e  |||
||   l  |||
||   3  |||___________________________________________________
||-------|——————panel4—————————————————
---------panel1-------------------
也不知道画明白没有!

#2


用panel的话是可以解决问题
我现在的界面有的用了panel,有的就没用,所以如果分辨率变了还得自己调整一下。

#3


milkwayhong(自在):我看明白了你的,我想问下,你和程序也是给国外的吗?因为我的在国内显示器上显示是没有问题的啊

#4


学习.

#5


学习中。。。。。。。

#1


你设置好Anchors就应该可以了,多使用panel,每个控件都放在一个panel上,我就是这样做的,今天才做好,呵呵。
——————————————————————————--------
||___________________panel2________________________________||
|------------------------------
||------||---------------------------------------------------
||      |||--------------------------------------------------
||      |||            panel5
||   p  |||-------------------------
||   a  ||---------------------------------------------------
||   n  |||                    panel6
||   e  |||
||   l  |||
||   3  |||___________________________________________________
||-------|——————panel4—————————————————
---------panel1-------------------
也不知道画明白没有!

#2


用panel的话是可以解决问题
我现在的界面有的用了panel,有的就没用,所以如果分辨率变了还得自己调整一下。

#3


milkwayhong(自在):我看明白了你的,我想问下,你和程序也是给国外的吗?因为我的在国内显示器上显示是没有问题的啊

#4


学习.

#5


学习中。。。。。。。