怎么样不用组件,直接用代码生成LABEL

saschenkang 2008-03-24 08:13:33
我想不使用D7里面VCL 的Label控件 直接写代码,生成一个Label标签,运行后显示‘HELLO’如何实现?
...全文
99 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lsj070599 2008-03-25
  • 打赏
  • 举报
回复
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
lb: TLabel;
begin
lb := TLabel.Create(Self);
lb.Parent := Self;
lb.Caption := 'lb.Caption';
lb.Left := 100;
lb.top := 100;
end;

end.
lihuasoft 2008-03-25
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 saschenkang 的回复:]
能发我一个直接能编译,运行的完整程序吗 我在编译的时候他老说我的TLabel 没有定义 系统里面没有TLabel 吗? 请大侠们给个直接能编译的代码 谢谢!
[/Quote]

在interface区,uses子句中,加上 StdCtrls
saschenkang 2008-03-25
  • 打赏
  • 举报
回复
能发我一个直接能编译,运行的完整程序吗 我在编译的时候他老说我的TLabel 没有定义 系统里面没有TLabel 吗? 请大侠们给个直接能编译的代码 谢谢!
lachunyan_1 2008-03-25
  • 打赏
  • 举报
回复
8楼的对的
oushengfen 2008-03-25
  • 打赏
  • 举报
回复
呵呵,都完了啊,var
Test : TLabel;
begin
Test := Tlabel.Create(Self);
test.Caption := 'Hello world';
test.Parent := Self;
test.Left := 100 ;
test.Top := 100 ;
end;

这个简洁
knife_s 2008-03-24
  • 打赏
  • 举报
回复
创建,指定容器以及其它属性
sanguomi 2008-03-24
  • 打赏
  • 举报
回复
var
Test : TLabel;
begin
Test := Tlabel.Create(Self);
test.Caption := 'Hello world';
test.Parent := Self;
test.Left := 100 ;
test.Top := 100 ;
end;
lihuasoft 2008-03-24
  • 打赏
  • 举报
回复

procedure TForm1.FormPaint(Sender: TObject);
var
DC: HDC;
begin
DC := Self.Canvas.Handle;
SetTextColor(DC, clRed);
SetBkMode(DC, TransParent);
TextOut(DC, 50, 100, PAnsiChar('HELLO'), 5);
end;
lihuasoft 2008-03-24
  • 打赏
  • 举报
回复

///方法一:还是用VCL,但是是动态生成的

procedure TForm1.FormCreate(Sender: TObject);
begin
with TLabel.Create(Self) do begin
Left := 50;
Top := 50;
Caption := 'HELLO';
Parent := Self;
Visible := True;
end;
end;


///方法二:用Canvas的TextOut方法画

procedure TForm1.FormPaint(Sender: TObject);
begin
Self.Canvas.TextOut(100, 100, 'HELLO');
end;

///方法三:直接用API函数(与Canvas方法类似,略)

5,928

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧