求教,怎样让动态生成的Label控件只显示文字,而没有背景色?

cjm29 2003-10-09 03:06:16

我在程序中动态生成了几个Label控件,用来在Image1上显示一些信息,并响应相应的OnClick事件。但是这几个LabeL控件继承了Form1的颜色,盖住了部分Image1图片,怎样让这几个Label控件在Image1上只显示文字,没有背景色?另外,如果想将这几个Label的Parent属性指定为Image1,该怎么操作?或者有无其他更好的办法,实现在一幅图片上动态显示文字,并相应鼠标事件的功能?
...全文
137 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiangchun_xn 2003-10-10
  • 打赏
  • 举报
回复
不要用label了,直接写把。自己定义一个类似label的类
我不懂电脑 2003-10-10
  • 打赏
  • 举报
回复
Timage不能做容器
cjm29 2003-10-10
  • 打赏
  • 举报
回复
当使用了label1->Owner=Image1,出现错误提示:
'TComponent::Owner'is not accessible
这是为何?
yjy1001 2003-10-10
  • 打赏
  • 举报
回复
TLabel *label1;
label1=new TLabel(this);
label1->Parent=this;
label1->Transparent=true;
label1->Owner=Image1;
Label1->OnClick=LabelNewOnClick;
//LabelNewOnClick 自己定义
penu 2003-10-10
  • 打赏
  • 举报
回复
可以在Image上直接写文字(canvas、TextOut),不过要记得在刷新时重画。
没必要用Lable。
Kabin 2003-10-10
  • 打赏
  • 举报
回复


void __fastcall TForm1::Image1MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
TLabel *Label1 = new TLabel(this);
Label1->Parent=this;
Label1->Left = Image1->Left + X;
Label1->Top = Image1->Top + Y;
Label1->Caption = "Label";
Label1->Transparent = true;

// delete Label1;
}
mabc 2003-10-10
  • 打赏
  • 举报
回复
如果合适就直接把文字画到上面;
否则就用BitButton设直为透明的,就不会覆盖图片的颜色了,笨办法!!!

哈哈!!
huangjuliang 2003-10-09
  • 打赏
  • 举报
回复
TLabel *label1;
label1=new TLabel(this);
label1->Parent=this;
label1->Left=230;
label1->Top=50;
label1->Transparent=true;
label1->Caption="AAAAAAAA";

TImage不是windowcontrol所以不能用parent属性

Image是有鼠标事件的
你想写什么事件可以在相应的事件中写!

ljianq 2003-10-09
  • 打赏
  • 举报
回复
设置Label的Caption属性就可以了:

Label1->caption="Fdfgdf";
Update();

响应事件:
Label1->OnClick=你设置的相应事件函数。
佣工7001 2003-10-09
  • 打赏
  • 举报
回复
因为TImage不是windowcontrol所以不能用parent属性
佣工7001 2003-10-09
  • 打赏
  • 举报
回复
TLabel label1;
label1= new TLabel(this);
label1->Transparent=true;
label1->Owner=Image1;

602

社区成员

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

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