为了使窗体不论在哪种分辨率下都能在正中间,我根据在VB中的方法,在DELPHI中写了这两句
form1.Left:=(GetSystemMetrics(SM_CXSCREEN)-form1.Width)/2;
form1.Top:=(GetSystemMetrics(SM_CYSCREEN)-form1.Height)/2;
可是运行不通过,后来分步写,发现问题在除于2,为什么不能除于2,搞不懂。把/2给去掉,运行成功,可是窗体的位置就不在希望的位置了。

解决方案 »

  1.   

    只要将窗体的position属性设为poscreencenter就可以了
      

  2.   

    form1.Left:=(GetSystemMetrics(SM_CXSCREEN)-form1.Width)div 2;
    form1.Top:=(GetSystemMetrics(SM_CYSCREEN)-form1.Height)div 2;
      

  3.   

    form1.left是整型的,而‘/’的结果是浮点型的,所以通不过
      

  4.   

    用div进行运算后结果是整型的,不过要求div运算符的左右两边都要是整型的