名前 題名 ▼ Mr.XRAYさん > > MyButton.OnClick := MyEvent; // ← ここの値を'MyEvent'から得たい > > ができるようになったところで, > > MyButton.Parent := GetComponentByName('Panel1') as TWinControl; > > なんですが,以下のようにできる気がします. > 親コントロール(コンテナ)になれるのは TWindControl だけですから, > FindControl は TWinControl だけを検索します. > > MyButton.Parent := FindControl(Panel2.Handle); > > http://docwiki.embarcadero.com/Libraries/Berlin/ja/Vcl.Controls.FindControl > > [追記] > つまり,こういう感じです. > > type > TForm1 = class(TForm) > Button1: TButton; > Panel1: TPanel; > procedure Button1Click(Sender: TObject); > private > { Private 宣言 } > MyButton : TButton; > public > { Public 宣言 } > published > procedure MyEvent(Sender: TObject); > end; > > var > Form1: TForm1; > > implementation > > {$R *.dfm} > > procedure TForm1.Button1Click(Sender: TObject); > var > LMethod : TMethod; > begin > MyButton := TButton.Create(Self); > MyButton.Parent := FindControl(Panel1.Handle); > MyButton.Top := 20; > MyButton.Left := 20; > MyButton.Caption := '私のボタン'; > > LMethod.Data := Self; > LMethod.Code := Self.MethodAddress('MyEvent'); > if Assigned(LMethod.Code) then begin > MyButton.OnClick := TNotifyEvent(LMethod); > end; > end; > > procedure TForm1.MyEvent(Sender: TObject); > begin > ShowMessage('Clicked !!'); > end; > GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link