コンポーネントを配列にして、コード上から生成できることを知りました。
コンポーネントの配列化
https://www.petitmonte.com/bbs/answers?question_id=1903
ところで、もしBtnArray:array[0..7] of TButtonとしてButtonArray[?]を作ったとき、どこに、例えばBtnArray[3]のOnClickイベントを書けばいいんでしょうか?
>BtnArray[3]のOnClickイベント
リンク先の記事をよく読んでいないので外しているかも知れませんが,
たとえば以下のリスト2で言えば,
http://mrxray.on.coocan.jp/Delphi/plSamples/160_CreateComponent.htm#102
PnlArray1[i].OnClick:=APanelClick;
を
PnlArray1[3].OnClick:=APanelClick;
にすることになります( i を目的の 3 にする )
この例のコードはButttonではなく,Panelですが,同じです.
TPanelをTButtonに読み換えてください.
なるほど! :=は値だけでなくメソッドも代入(?)できるんですね!
深いです…
動的に生成してメソッドを割り当てることで、今まで作れなかった何かが出来そうな気がします。
ワクワクしてきました。
ありがとうございます。
押されたButtonがどのBtnArrayなのか検出する方法しりません?
Senderから検出するんでしょうか?
>どのBtnArrayなのか検出する方法しりません
既に提示したリンクのリスト2のコードをご覧ください.
このサンプルはダウンロードできます.EXEも含まれています.
実際に動かしてみてください.
それても理解できなければ,再度質問されてはいかがでしょうか.
それと,「ついでに…」の部分は,名前を書く欄です.
「ついでに…」は,本文に書けば用が済むことです.
どうもすみません,マナー違反のようでした.
サンプルを参考に研鑽いたします.
>どうもすみません,マナー違反のようでした.
こちらこそ,キツイことを書きました.
小生の提示しているサンプルでしたら,喫茶XRAYという掲示板があります.
不明なことは何でも訊いてください.
いつでもお待ちしています.
ただし,「喫茶」となっていますが,お飲み物はお客様ご持参でお願い致します.
ごていねいにありがとうございます.
またお知恵を拝借したいと思います.
ツイート | ![]() |