リストボックスにアイコンを表示する方法、どなたかご存知でしたら
教えて下さい。
よろしくお願いします。
OCXにイメージリストボックスとかそう言う名前のものがあります。
でも、それ以上は知りません^^;
イメージリストは、イメージを格納するだけで、
描画機能ありません。描画するには、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から利用するのが吉です。
ぐーりです。たかみちえさん、Sayさん、回答ありがとうございます!
私が求めていたのは、まさにSayさんが紹介してくれた、オーナードローリストボックスそのものでした。今回、作成するのに、あまり時間ないので、利用させていただくことにします。
どうもありがとうございました。
ツイート | ![]() |