本来上面问题中涉及到了这个问题,现在单独摘出来问一下
delphi上可以在panel控件上可以拖上一个label,现在程序里如何实现?
其他的控件,
Twincontrol(xx).paintto(canvas.handle,x,y); 实现了,
label父类bushiwincontrol,不知道如何实现?

解决方案 »

  1.   

    不是应该用
    with TLabel.Create(nil) do
      Parent:=xxxx的形式吗?
      

  2.   

    直接在panel上创建一个label会不会更好?
      

  3.   

    var
      testLab:TLabel;
    begin
      testLab:=TLabel.create;
      testLab.parent:=panel;
    end;
    这样不好吗,
      

  4.   

    问题是我的panel是可以拖动大小的
    Twincontrol(xx).paintto(canvas.handle,x,y); 可以实现按panel的canvas的大小,修改xx这个控件在panel上的大小(注:这里实现拉伸控件的效果)。
      

  5.   

    那控件拉伸了,是不是要把控件的字体什么都相应变大啊...呵呵...
    ============================================================
    动态画LABEL不知道,但能在画布上面,画一些文字.用TEXTOUT函数,这输出文字之前可以设置要写入字体的大小.颜色等.
    由于是画的,还要用线程去不停的更新重画.
    只要是WINCONTORL控件继承下来的,都要以做为LABEL的父亲.你只要把LABEL的parent改为该控件就行了.
    拖动的话,只要在MOUSEDOWN的时候,你按左键,然后把该控件随MOUSE一起移动,到指定地方,你来个MOUSEUP就放开该控件.