VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2005/03/30(Wed) 09:59
投稿者ダンボ
URL
タイトル(便乗質問)コントロールをLoadするときのVisible

テキストの配列の持ち方 - いち 03/25-16:42 No.2645の便乗質問です。

> For i = 1 to 60
>   Load text1(i)
>   text1(i).Move Left(i), Top(i)
>   text1(i).Visible = True
> Next i

コントロールに対するLoad命令はIndex0でデザインされたコントロールのプロパティを引き継ぎますが、
Visibleプロパティだけは必ずFalseにされます。このことが長年疑問ではありました。

(1)Load命令実装時の都合なのか?
(2)使用者の便宜を図った仕様なのか?

で、前者は理由が想定できない(わざわざFalseに変えるだけ手間)、すると後者なのだが、
・text1(i).Visible = TrueでLoadするとtext1(0)と同じ場所に表示される。
・同じ場所に別なコントロールを表示する仕様は考えづらい(無いとは言えないのでは)ので、
・どうせフォームの別な場所に再配置する必要がある。
・そのときに.Visible = Trueだと画面がちらつくので移動前にひとまず.Visible = Falseにすべきだ。
・ならば、Load時にはVB側であらかじめ.Visible = Flaseにしておいてあげましょう。
というストーリーなのでしょうかね?

正解はMicrosoftに聞かなければわからないし、そこまでする気も無いですので、別な解釈があれば
お願いします。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -