procedure Twarpmtrclead.FormShow(Sender: TObject);
 var FWWidth:integer;
 var FWHeight:integer;
begin
       FWWidth:=warpmtrcleadform.warpmtrclead.Width;  //1
       FWHeight:=warpmtrcleadform.warpmtrclead.Height; //2
       Label1.Top:=FWHeight div 2;
       Label1.Left:=FWWidth div 2;
end;
为什么在程序运行时,1,2报错,是不是不能赋值?能不能写一个计算窗体位置的例子给我,谢谢!!刚开始学delphi,请高手指点

解决方案 »

  1.   

    warpmtrcleadform   這個窗體建立沒有???窗體寬度就是: warpmtrcleadform.width;
        高度    : warpmtrcleadform.height;
      

  2.   

    建立了啊,warpmtrcleadform.warpmtrclead.Width 全都是点出来的,要是只用warpmtrcleadform点不出来Width 窗体就是warpmtrcleadform
      

  3.   

    lv1是任一控件
    lv1.Height := Form1.ClientHeight - lv1.Top - 10;
      

  4.   

    procedure TForm1.FormResize(Sender: TObject);
    begin
     lv1.Height := Form1.ClientHeight - lv1.Top - 10;
    end;
      

  5.   


    那就在窗體的 formResize  事件裏動態改變控件的大小
      

  6.   

    不知道,你的warpmtrclead这个东西是什么,报的错误也不知道计算窗口位置很容易的哦procedure Twarpmtrclead.FormShow(Sender: TObject); 
    begin
      left := 200;
      top := 300;
      width := 400;
      height := 300; 
    end
      

  7.   

    unit warpmtrcleadform;
      Twarpmtrclead = class(TForm)
    lv1.Height是设置控件高度的吧,这个我打算设成固定大小的,只是想把控件位置随窗体改变
    我想可能通过算法来确定位置,但是这里的赋值出了问题,想不通,按照编程思想,同类型的应该可以赋值的嘛,怎么会两个就是不能赋值呢
      

  8.   

    但是这里在show的时候就遇到问题,formResize就还没写,要是赋值成功formResize就可以写了
      

  9.   

    不好意思啊,文件是warpmtrcleadform,窗体是warpmtrclead,Width是点出来了,有值的,赋值就是不可以,郁闷
      

  10.   

    warpmtrcleadform.warpmtrclead.Width;  //1 
    其中warpmtrcleadform是文件,warpmtrclead是窗体
      

  11.   

    Width点出来了,有值,但是赋值后运行起来就问题了
      

  12.   

    这里还是设控件高度的吧,我想是赋值给控件的top 和left,这样来控制控件随窗体大小变化而移动
      

  13.   

    warpmtrcleadform.warpmtrclead.Width可以直接替换为Self.Width 或直接就是Width;因为你是直接在本单元中使用没有必要前面引用那么具体,而且当你对文件名或窗口名修改后还要自己手动修改自己引用的地方,比较麻烦。
    你说的问题我验证了一下没有问题啊,是不是还有其它代码引起的问题?
      

  14.   

    其他程序没有问题,就这几行代码加上去据报错
    谢了,我把它直接换成Width没有报错了,估计可以了,我再试下,
      

  15.   

    唉~~为什么加了warpmtrcleadform.warpmtrclead就不行了呢~郁闷
      

  16.   

    大哥你怎么引用自己的单元呀?把'warpmtrcleadform.'去掉。