[2316] Re: 部品の名前について

投稿日 2018/12/13(Thu) 00:25:14
投稿者 とおり
参照先

質問で、部品の名前と呼んでいるのが、プログラム中で指定している、作成した部品に付けている名前のことだとしたら、通常、それ自体を動的に増やす必要はありません。

プログラム中で、
「AAAというボタンを作る」
とした場合、AAAという名前をもつ変数の宣言と、ボタン部品の実態を生成して変数AAAに代入するという操作を行っています。普段、プログラムの中で指定しているのは、この時宣言した変数の変数名です(変数以外のなにか部品固有のものが部品名としてできるわけでは無いはずです)
この変数は、他の変数と同じように、グローバル変数となっていたり、属する種類の変数になっていたりします(ウィンドウを継承した種類の手順で作っている場合が、その種類の変数になります)
実際、どう作成されて、どう保持されているのかは、CTRL+Gのデバッグ画面から、確認してみてください。ボタンの実態は、それを保持している変数の変数名とは別に、名前を持っています。この名前は、変数名とは別のものです(多くの場合、同じ内容にはなっています)

こういった、実行時まで確定しない場合には、配列や辞書の変数を1つ宣言しておいて、その中に、部品の実態を入れて利用してみてください。

その際、
「AAAというボタンを作る。」
という構文のかわりに、
「AAAは、ボタンを作ったもの。」
という構文で部品の実態を生成するようにしてみてください。
なお、動的に部品を生成する場合には、その実態を保持している変数がなくならないように、注意してください。どこからも保持されてない状態になってしまうと、動かしたり消したりが難しくなります(一応、親となる部品からたどることはできます)。
例えば、
---
【AAA:ボタン】
AAAは、ボタンを作ったもの。
AAAは、ボタンを作ったもの。
---
としてしまうと、先に作ったボタンの実態を操作することが難しくなります。
---
【ボタン一覧:辞書】は、空
【AAA:ボタン】は、ボタンを作ったもの。
ボタン一覧の「ボタン1」は、AAA。
AAAは、ボタンを作ったもの。
ボタン一覧の「ボタン2」は、AAA。
---
のように、作ったものがどこかに残るようにして、管理します(辞書を使った場合の例。ボタン一覧が、手順内のローカル変数にならないよう注意。)


関連一覧ツリー

をクリックするとツリーを一括表示します)

返信フォーム

(この投稿に返信する場合は下記フォームから投稿して下さい)
(1MBまで)
(英数字で8文字以内)

- 投稿修正/削除フォーム -
処理 No パスワード

▲ページの先頭へ

- WebForum -