C++ Builder 参考手册 ➙ System ➙ TObject ➙ FieldAddress
头文件:#include <systobj.h>
命名空间:System
函数原型:
void *__fastcall FieldAddress(const ShortString &Name);
void *__fastcall FieldAddress(const UnicodeString Name);
System::TObject::FieldAddress 是 System::TObject 的成员函数,通过成员名称返回成员的地址
参数:
Name:成员的名称
返回值:
成员的地址:如果成员是 __published: 访问权限,返回值是成员指针的地址,即成员指针的指针;
NULL:如果成员不是 __published: 访问权限,或者没有这个名称的成员。
例:通过 "Memo1" 这个名称,找到 Form1 上的 Memo1 控件,并且在这个控件里面输出文字。
由窗口设计编辑的控件,都在 __published: 里面,这正符合 FieldAddress 的要求,可以使用这个函数通过名称找到控件的地址,如下面截图所示:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TMemo **lplpMemo = (TMemo **)this->FieldAddress(L"Memo1");
if(lplpMemo)
{
(*lplpMemo)->Lines->Add(L"测试 FieldAddress -- 玄坴");
}
}
运行结果:
参考:
- C++ Builder 的 PME 架构
- C++ Builder 枚举控件所有的属性、事件和方法
- System::TObject::MethodAddress
- System::TObject::MethodName
- System::TObject::ClassInfo
- System::TObject::ClassType
- System::TObject::ClassName
- System::TObject::ClassNameIs
- System::TObject::QualifiedClassName
- System::TObject
- VCL 类继承关系
C++ Builder 参考手册 ➙ System ➙ TObject ➙ FieldAddress