关注,分辨率是不是每英寸显示多少个像素?
如果当前是800X600,你定义的单位U:宽*800/U;高*600/U
OK?

解决方案 »

  1.   

    VB的解决方法很简单:缇
    一个与屏幕无关的单位,用来保证屏幕应用程序对屏幕元素的定位和比例在所有的显示系统上的一致性。一缇等价于 1/20 个打印机的磅。一逻辑英寸大约有 1440 缇,一逻辑厘米约 567 缇(打印时的一英寸或一厘米所对应的屏幕上的长度)。VB用了“缇”这个单位来表示长度,delphi里面好像没有类似的设置。
      

  2.   

    可以利用windows api函数:getsystemmetrics(0)//水平;getsystemmetrics(1)//垂直 来获得分辨率,然后对于不同的分辨率把窗体大小,组件位置等设为不同的值。也可以动态改变分辨率。