動作確認
C++ Builder XE4
Rad Studio 10.2 Tokyo Update 2 (追記: 2017/12/27)
Form314:TFormに以下の階層でTPanelがあるとする。
Panel1
..Panel1_1
....Panel1_1_1
Panel1_1_1などからForm314のポインタを取得するには
(Unityでいうところの .GetComponentInParent() )
Ownerというのでよさそう。
void __fastcall TForm314::Button1Click(TObject *Sender)
{
TComponent *owner = Panel1->Owner;
OutputDebugString(owner->Name.c_str());
owner = Panel1_1->Owner;
OutputDebugString(owner->Name.c_str());
owner = Panel1_1_1->Owner;
OutputDebugString(owner->Name.c_str());
}
結果
デバッグ出力: Form314プロセス Project1.exe
デバッグ出力: Form314プロセス Project1.exe
デバッグ出力: Form314プロセス Project1.exe