Share via


方法 : アップグレードしたアプリケーションで Visual Basic 6.0 の 3 ステート コントロールをエミュレートする

更新 : 2007 年 11 月

Visual Basic 6.0 では、Picture、DownPicture、および DisabledPicture の各プロパティは、CheckBox、CommandButton、、または OptionButton コントロールの状態に基づいて異なる画像を表示するために使用します。たとえば、CheckBox コントロールがオンのときには DownPicture 画像が表示され、オフの場合には DisabledPicture 画像が表示されます。

Visual Basic 2008 では、これと同じ効果を以下の例のように ImageList コントロールを使って実現できます。

eaa02dxx.alert_note(ja-jp,VS.90).gifメモ :

まず、Visual Basic 6.0 アプリケーションをチェックします。デザイン時または実行時に DownPicture プロパティおよび DisabledPicture プロパティを設定していない場合は、Visual Basic 2008 でも動作は同じです。

eaa02dxx.alert_note(ja-jp,VS.90).gifメモ :

使用している設定またはエディションによっては、ヘルプの記載と異なるダイアログ ボックスやメニュー コマンドが表示される場合があります。設定を変更するには、[ツール] メニューの [設定のインポートとエクスポート] をクリックします。詳細については、「Visual Studio の設定」を参照してください。

ImageList コントロールの追加

DownPicture プロパティまたは DisabledPicture プロパティを設定している場合は、次の手順に従って、アップグレードしたアプリケーションを変更します。

3 ステート コントロールをエミュレートするには

  1. Picture、DownPicture、DisabledPicture の各プロパティに割り当てられていたイメージのファイル名と場所を確認し、必要に応じて、ファイルを開発用コンピュータにコピーします。

  2. ツールボックスから ImageList コントロールをフォームに追加します。

  3. [プロパティ] ウィンドウで [Images] プロパティを選択します。

  4. イメージ コレクション エディタで、Picture、DownPicture、および DisabledPicture に使用する 3 つの画像を追加します。

  5. これらのプロパティが実行時に設定されている場合は、そのコードを削除します。プロパティがデザイン時に設定されている場合は、フォームの Load イベントに次のコードを追加します。

    ' Assign the first image (Picture) to the Image property.
    CheckBox1.Image = ImageList1.Images(0)
    
  6. 実行時に DownPicture イメージを表示するには、CheckBox コントロールの CheckedChanged イベントに次のコードを追加します。

    If CheckBox1.Checked = True Then
      ' Assign the second image (DownPicture) to the Image property.
      CheckBox1.Image = ImageList1.Images(1)
    Else
      ' Assign the first image (Picture) to the Image property.
      CheckBox1.Image = ImageList1.Images(0)
    End If
    
  7. 実行時に DisabledPicture イメージを表示するには、CheckBox コントロールの EnabledChanged イベントに次のコードを追加します。

    If CheckBox1.Enabled = False Then
      ' Assign the third image (DisabledPicture) to the Image property.
      CheckBox1.Image = ImageList1.Images(2)
    ElseIf CheckBox1.Checked = True Then
      ' Assign the second image (DownPicture) to the Image property
      CheckBox1.Image = ImageList1.Images(1)
    Else
      ' Assign the first image (Picture)to the Image property
      CheckBox1.Image = ImageList1.Images(0)
    End If
    

    これにより、アプリケーションは Visual Basic 6.0 のときとまったく同様に動作します。

参照

概念

Style プロパティ (Visual Basic 6.0 ユーザー向け)

CheckBox コントロール (Visual Basic 6.0 ユーザー向け)

CommandButton コントロール (Visual Basic 6.0 ユーザー向け)

OptionButton コントロール (Visual Basic 6.0 ユーザー向け)

OptionButton コントロール (Visual Basic 6.0 ユーザー向け)

User コントロール (Visual Basic 6.0 ユーザー向け)