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

投稿日: 2006/04/24(Mon) 16:20
投稿者ダンボ
URL
タイトルRe: 現状報告 非コントロール配列のループ処理

ふく さん、こんにちは

> Controls(i)で、コントロールを順次参照するとき、
> 参照する順序はどのように決まるのでしょうか?
IDEに新規追加した順番じゃないかな。名前もその順番で決まるし。

> また、順序の変更はできるのでしょうか?
基本的には順序を変えられると思わないほうが良いのでは。フォームを
テキストエディタで開いてコントロールの記述順番を換えればできそうな
気もするけれど(未確認)、そんなことをする位なら名前を付け直したほうが
ましな筈。

> 以下、今回試作コード(どちらかを使う予定)
方式2はまずいでしょう。
コントロールを削除したらその名前も欠番になり、連番という保証は無いです。
で方式1を、コントロール配列と考えるとふくさんのコーディングになり、
コントロール・コレクションと考えると下記コードかな。(コードは手打ちなので未試験)

Private Sub Command1_Click()
Dim CNT As Object
    For Each CNT in Controls
         If TypeName(CNT) = "CheckBox" Then
                 If CNT.Value Then
                     MsgBox (CNT.Name)
                 End If
         End If
     Next CNT
End Sub


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

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

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