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

投稿日: 2004/02/03(Tue) 13:23
投稿者ゆーみん
Eメール
URL
タイトルRe^3: コンボボックスのイベント

花ちゃん様、魔界の仮面弁士様、ご返答有難う御座います。
色々と参考にさせて頂いた案でやってはいるのですが、
自分のやりたい事ができません。
もう少しお知恵をお借りできますでしょうか?

配置:
フォームにComboを配列で(0)と(1)で作成
どちらのコンボもStyle2で作成

リスト:
Combo(0)には「ALL,野球,水泳」と3項目をAdditem
Combo(1)には「ALL,バット,ボール,水着,ゴーグル」と5項目をAdditem
フォームロード時に上記をそれぞれにAdditemします。
また、初期値はそれぞれ「ALL」とします。

やりたい事:
Combo(0)で野球をクリックしたら、Combo(1)には「ALL,バット,ボール」
のみリスト表示(つまり水着とゴーグルが無くなる)
Combo(0)で水泳をクリックしたら、Combo(1)には「ALL,水着,ゴーグル」
のみリスト表示(つまりバットとボールが無くなる)
Combo(0)でALLをクリックしたら、Combo(1)には「ALL,バット,ボール,
水着,ゴーグル」と初期状態へ。
また、
Combo(1)の方で、バットやボールをクリックしたらCombo(0)は野球が
選択された状態としたいのです。(水泳も同様)

現在の記述:
Private Sub Combo_Click(index As Integer)
  If index = 0 Then
    Combo(1).Clear
    Combo(1).AddItem "ALL"
      If Combo(0).Text = "野球" Then
        Combo(1).AddItem "バット"
        Combo(1).AddItem "ボール"
      ElseIf Combo(0).Text = "水泳" Then
        Combo(1).AddItem "水着"
        Combo(1).AddItem "ゴーグル"
      End If
  Else
    If Combo(1).Text = "バット" Or Combo(1).Text = "ボール" Then
      Combo(0).Text = "野球"
    ElseIf Combo(1).Text = "水着" Or Combo(1).Text = "ゴーグル" Then
      Combo(0).Text = "水泳"
    End If
  End If
End SUb

「ALL」をクリックした時の処理は抜いてありますが、
結局、Combo(1)をクリックして、バットにした場合、Combo(0)は野球になります。
で、Combo(0)が変更されたので、またイベントが働き「Combo(1)がクリア」されます。
そうすると、クリックしたはずの「バット」が未選択となります。
これを「バットが選択された状態」で残したいのです。

できますでしょうか?


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

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

- Web Forum -