C++ Builder 參考手冊(cè) ? System ? TObject ? FieldAddress
頭文件:#include <systobj.h>
命名空間:System
函數(shù)原型:
void *__fastcall FieldAddress(const ShortString &Name);
void *__fastcall FieldAddress(const UnicodeString Name);
System::TObject::FieldAddress 是 System::TObject 的成員函數(shù),通過(guò)成員名稱(chēng)返回成員的地址
參數(shù):
Name:成員的名稱(chēng)
返回值:
成員的地址:如果成員是 __published: 訪問(wèn)權(quán)限,返回值是成員指針的地址,即成員指針的指針;
NULL:如果成員不是 __published: 訪問(wèn)權(quán)限,或者沒(méi)有這個(gè)名稱(chēng)的成員。
例:通過(guò) "Memo1" 這個(gè)名稱(chēng),找到 Form1 上的 Memo1 控件,并且在這個(gè)控件里面輸出文字。
由窗口設(shè)計(jì)編輯的控件,都在 __published: 里面,這正符合 FieldAddress 的要求,可以使用這個(gè)函數(shù)通過(guò)名稱(chēng)找到控件的地址,如下面截圖所示:

在 Form1 上的 Memo1 控件

由窗口設(shè)計(jì)編輯的控件都在 __published: 里面
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TMemo **lplpMemo = (TMemo **)this->FieldAddress(L"Memo1");
if(lplpMemo)
{
(*lplpMemo)->Lines->Add(L"測(cè)試 FieldAddress -- 玄坴");
}
}
運(yùn)行結(jié)果:

運(yùn)行結(jié)果
參考:
- C++ Builder 的 PME 架構(gòu)
- 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 類(lèi)繼承關(guān)系
C++ Builder 參考手冊(cè) ? System ? TObject ? FieldAddress