Image1控件是有运行里动态创建的,怎么在控件下方显示一行文字,

解决方案 »

  1.   

    动态创建一个TLabel不就行了
      

  2.   

    对,如果要想用别的话,就要你自己TextOut了
      

  3.   

    条条大陆同罗马
    Image.Canvas.DrawText(……);
    你自己TextOut
    动态创建label
    都可以实现你的要求
      

  4.   

    TextOut会盖在图片上的。最好自己封装个控件出来,参考TLabelEdit。
      

  5.   

    To楼上:
      TextOut会盖在图片上的。
    TextOut在你将Canvas.Brush.Style设置成BsClear的时候是不会覆盖图片的,你说的覆盖图片,那是因为有画
    刷底色的关系。
    所以TestOut,DrawText,创建Label都是可实现的!
      

  6.   

    使用Canvas就可以了,盖住图片是什么意思?
      

  7.   


    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, ExtCtrls, jpeg;type
      TForm1 = class(TForm)
        Image1: TImage;
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    var Label1:TLabel;
    begin
      //创建Label
      Label1:=TLabel.Create(Self);
      Label1.Parent:=Self;
      Label1.Caption:='图片1';
      //设置Label的位置,放在Image1的下方
      Label1.Left:=Image1.Left+(Image1.Width-Label1.Width) div 2;
      Label1.Top:=Image1.Top+Image1.Height;
    end;end.