リストボックスにアイコンを表示するには?


ぐーり  2001-08-28 21:43:32  No: 74812  IP: [192.*.*.*]

リストボックスにアイコンを表示する方法、どなたかご存知でしたら
教えて下さい。
よろしくお願いします。

編集 削除
たかみちえ  2001-08-28 22:15:01  No: 74813  IP: [192.*.*.*]

OCXにイメージリストボックスとかそう言う名前のものがあります。
でも、それ以上は知りません^^;

編集 削除
Say  2001-08-29 10:59:19  No: 74814  IP: [192.*.*.*]

イメージリストは、イメージを格納するだけで、
描画機能ありません。描画するには、Pictureオブジェクトを
表示できるコントロールに関連付ける必要があります。
残念ながら、Vb標準のリストボックスでは表示できません。
対策としては

1.他のコントロールで代用する
  ImageCombo,TreeView,listViewあたりが候補になります。
  これで我慢できるなら、それが一番楽です。
2.人が作ったユーザ自作コントロールを使う
  ListBoxEx なんてのがあります。
  http://www.netlaputa.ne.jp/~stadt/vb/p18/listex.htm
  実体はオーナードローリストボックスです。
3.オーナードローする。
  人がオーナードローでイメージ付きリストボックス作れたのなら、
  自分にも作れるはず・・・でもこれができたらVB中級者卒業かな?

  具体的にはFormの WM_CREATE メッセージひろったら
    lpClassName = "LISTBOX"
    dwStyle = WS_CHILD Or BS_OWNERDRAW 
  で CreateWindow して、
  WM_DRAWITEM メッセージひろったら
  hdc取得して、用意しておいたBitmap使って
  オーナードローする
  みたいな感じですか・・・
  (ちっとも具体的じゃない)
  VBっぽくないんで、Vbで作るのはおすすめしません。
  C/C++で作って、VBから利用するのが吉です。

編集 削除
ぐーり  2001-08-30 13:13:54  No: 74815  IP: [192.*.*.*]

ぐーりです。たかみちえさん、Sayさん、回答ありがとうございます!
私が求めていたのは、まさにSayさんが紹介してくれた、オーナードローリストボックスそのものでした。今回、作成するのに、あまり時間ないので、利用させていただくことにします。
どうもありがとうございました。

編集 削除