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

解決


カネマキ  2010-01-14 15:19:10  No: 36981

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

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

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


Mr.XRAY  2010-01-14 17:32:18  No: 36982

>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 18:30:25  No: 36983

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

深いです…

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

ありがとうございます。


ついでに…  2010-01-14 18:34:20  No: 36984

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


Mr.XRAY  2010-01-14 18:48:02  No: 36985

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

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

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


横槍夫  2010-01-14 18:55:44  No: 36986

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


Mr.XRAY  2010-01-14 19:13:34  No: 36987

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

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

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


槍夫  2010-01-15 14:24:25  No: 36988

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加