配列ボタンが押されたときのイベント記述場所

解決


カネマキ  2010-01-14 06:19:10  No: 36981  IP: 192.*.*.*

コンポーネントを配列にして、コード上から生成できることを知りました。

コンポーネントの配列化
https://www.petitmonte.com/bbs/answers?question_id=1903

ところで、もしBtnArray:array[0..7] of TButtonとしてButtonArray[?]を作ったとき、どこに、例えばBtnArray[3]のOnClickイベントを書けばいいんでしょうか?

編集 削除
Mr.XRAY  2010-01-14 08:32:18  No: 36982  IP: 192.*.*.*

>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に読み換えてください.

編集 削除
カネマキ  2010-01-14 09:30:25  No: 36983  IP: 192.*.*.*

なるほど!  :=は値だけでなくメソッドも代入(?)できるんですね!

深いです…


動的に生成してメソッドを割り当てることで、今まで作れなかった何かが出来そうな気がします。
ワクワクしてきました。

ありがとうございます。

編集 削除
ついでに…  2010-01-14 09:34:20  No: 36984  IP: 192.*.*.*

押されたButtonがどのBtnArrayなのか検出する方法しりません?
Senderから検出するんでしょうか?

編集 削除
Mr.XRAY  2010-01-14 09:48:02  No: 36985  IP: 192.*.*.*

>どのBtnArrayなのか検出する方法しりません

既に提示したリンクのリスト2のコードをご覧ください.
このサンプルはダウンロードできます.EXEも含まれています.
実際に動かしてみてください.
それても理解できなければ,再度質問されてはいかがでしょうか.

それと,「ついでに…」の部分は,名前を書く欄です.
「ついでに…」は,本文に書けば用が済むことです.

編集 削除
横槍夫  2010-01-14 09:55:44  No: 36986  IP: 192.*.*.*

どうもすみません,マナー違反のようでした.
サンプルを参考に研鑽いたします.

編集 削除
Mr.XRAY  2010-01-14 10:13:34  No: 36987  IP: 192.*.*.*

>どうもすみません,マナー違反のようでした.

こちらこそ,キツイことを書きました.
小生の提示しているサンプルでしたら,喫茶XRAYという掲示板があります.
不明なことは何でも訊いてください.
いつでもお待ちしています.

ただし,「喫茶」となっていますが,お飲み物はお客様ご持参でお願い致します.

編集 削除
槍夫  2010-01-15 05:24:25  No: 36988  IP: 192.*.*.*

ごていねいにありがとうございます.
またお知恵を拝借したいと思います.

編集 削除