0

残念ながら、古い VB6 アプリケーションに変更を加える必要があります。mscomctl.ocx のイメージ コンボが Windows 7 で正しく機能しないことに気付きました。イメージ リスト コントロールにリンクされているにもかかわらず、イメージが表示されず、XP では正常に動作しました。

これがWin 7で壊れた理由を知っていて、修正を提案する人はいますか?

4

4 に答える 4

1

ImageCombo が ImageCombo ボックスで、ImageList が Image List コントロールである場合、次のようにするとうまくいきました。

Private Sub Command_Click()

    Set ImageCombo.ImageList = ImageList

    With ImageCombo.ComboItems
        .Add , "OPEN_FOLDER", "Open Folder", "IMG_OPEN_FOLDER"
        .Add , "CLOSED_FOLDER", "Closed Folder", "IMG_CLOSED_FOLDER"
        .Add , "NEW_DOCUMENT", "New Document", "IMG_NEW_DOCUMENT"
        .Add , "PLUS", "Plus", "IMG_PLUS"
        .Add , "MINUS", "Minus", "IMG_MINUS"
    End With

End Sub

IMG_xxxx は、イメージ リストのキーです。

于 2012-06-07T13:53:21.413 に答える
1

MSCOMCTL.OCX

6.1.97.82 動作します 6.1.98.33 動作しません

ダバージョンです

6.1.97.82 で試してください


わかった!

バージョン 6.1.98.33 では、コンボアイテム コレクションにアイテムを追加するときに、3 番目のパラメーター ("Text") を設定する必要があります。すると画像が表示されます。空の文字列 "" を設定できます。

于 2012-08-01T12:53:24.160 に答える
0

イメージ リストをコンボに割り当てるだけでは不十分です。アイテムも追加する必要があります。

ImageCombo1.ComboItems.Add 1, "key1", "text1", 1
ImageCombo1.ComboItems.Add 2, "key2", "text2", 2

そして、展開時にバイナリ互換性が何であるかを覚えておく必要があります。なんてこった、VB6 以降の私たちの進歩… .Net 万歳。

于 2012-06-07T13:08:54.990 に答える
0

おそらく、MSCOMCTL.OCX が正しく登録されていないか、お使いの Windows と互換性がありません。コマンド プロンプトを開いて管理者として実行し、次のコマンドを入力してください。

Regsvr32 MSCOMCTL.OCX

問題が解決しない場合は、新しい MSCOMCTL.OCX をダウンロードして、再度登録してください。次のリンクから MSCOMCTL.OCX をダウンロードできます: Mscomctl.zip

于 2012-06-07T12:32:18.260 に答える