是这样的怎样才能实现体在桌面中心的下方显示出来啊

解决方案 »

  1.   

    是这样子的以前用的SetBounds();在WIN7好像不管用了
    我想要的是不管什么样的屏幕分辨率都是在中间的下方显示出来
      

  2.   

    form有个参数,直接设置下就管用,我在win7下用过的
      

  3.   

    form:  
    position:poScreenCenter
    position是属性
      

  4.   

    position来设置吗我在D7下不管用啊是在居中可是没有在下方啊
      

  5.   

    我看看吧在ONCreate下不行
    我看下在自绘那里重那里写入看下行不行
      

  6.   


    你用代码写,设定他的left  top 值就可以了
      

  7.   


    Self.Top := Screen.Top - Self.Height - 1;
         
            Self.Left := Screen.WorkAreaWidth - Self.Width - 1;
      

  8.   

    中的Screen表示什么?我不太理解
      

  9.   

    Screen对象是在Forms单元中声明的TScreen类
    只要 uses 了 Forms 单元, Screen 对象就可以使用了
    TScreen描述与显示设备有关的一些信息
      

  10.   

    Screen表示屏幕吧Screen.Top怎可以-得Self.Height-1啊
      

  11.   

    Self.Top:=Screen.WorkAreaHeight-Self.Height;
    Self.Left:=trunc((Screen.WorkAreaWidth-Self.Width)/2);这是屏幕正下方,自己根据需要调整Top,Self值吧
      

  12.   

    KK说的方法是可行的,
    当然这些代码必须加入到事件
    resize和CREATE才行的
    这种情况是不能修改位置的方法
      

  13.   

    原来可以用/2来做啊Width啊
    虽然不是我要的如果是有窗体显示出来的话这方法一定行的
    可是我隐藏了窗体了所以出来就会闪下了
      

  14.   

    有一个windows api函数叫SetWindowPos
      

  15.   

    我找到了
    别人的源码里已写有了
    我只要重设里面的X跟Y就行了跟
    Self.Top := Screen.Top - Self.Height - 1;Self.Left := Screen.WorkAreaWidth - Self.Width - 1;
    是同理的哈哈
    用别人的源码也不看清
    太大意了
      

  16.   

    嗯自绘里人家就有这个函数了
    不管我在ONSHOW 还是ONCreate里怎写都不行
      

  17.   

    怪不得他的代码我过不了原来得在 uses里加入TScreen类才可以啊