- TComponent::Tag - C++ Builder
- TComponent::TComponent - C++ Bui
- TComponent::~TComponent - C++ Bu
- TComponent::ValidateContainer -
- TComponent::WriteState - C++ Bui
- TComponent::UpdateAction - C++ B
- TComponent::UpdateRegistry - C++
- TComponent::VCLComObject - C++ B
- TComponent::SetParentComponent -
- TComponent::SetSubComponent - C+
C++ Builder 参考手册 ➙ TComponent ➙ Tag
头文件:#include <System.Classes.hpp>
命名空间:System::Classes
类:TComponent
访问权限:__published:
属性定义:
__property NativeInt Tag = { read = FTag, write = FTag, default = 0 };
System::Classes::TComponent::Tag 是 System::Classes::TComponent 的属性,储存一个 NativeInt 类型的数据,组件不会对这个数据做任何处理。
例子:多个控件共用一个事件函数
- 控件的事件一般都有一个参数是 TObject *Sender,这个指针指向产生事件的控件,可以通过这个指针来区分不同的控件。
- 除了可以通过控件的 Name 属性区分不同的控件之外,还可以使用控件的 Tag 属性来区分,这个属性是整数,可以随意指定不同的整数值来区分不同的控件,整数可以方便的使用 switch 语句。
这个例子把 Button1、Button2、Button3 的 Tag 属性分别设为 101、102、103。
控件的 Tag 属性设置编号 三个按钮共用一个 OnClick 事件函数void __fastcall TForm1::Button1Click(TObject *Sender)
{
Memo1->Lines->Add(Sender->ClassName());
TButton *lpButton = dynamic_cast<TButton *>(Sender);
if(lpButton)
{
Memo1->Lines->Add(lpButton->Name);
Memo1->Lines->Add(lpButton->Tag);
switch(lpButton->Tag)
{
case 101: break; // Tag 编号为 101 的按钮
case 102: break; // Tag 编号为 102 的按钮
case 103: break; // Tag 编号为 103 的按钮
}
}
}
运行结果:点击按钮 Button2,可以得到控件的类名 "TButton",名称 "Button2" 和 Tag 编号 102。
点击按钮 Button2 的运行结果参考:
- System::Classes::TComponent::Name
- System::Classes::TComponent
- System::Classes::TPersistent
- System::TObject
- C++ Builder 整型变量和整型常量
- VCL 类继承关系
C++ Builder 参考手册 ➙ TComponent ➙ Tag
网友评论