通知
すべてクリア
Topic starter
2003年7月5日 3:08 PM
リストボックスにiconを追加したのですけれども、
うまくいきません。
本を見たところ LB_SETITEMDATAは、指定の項目に32ビット値を設定すると
ありました。 そこでiconを追加できると思い下記の通りやってみました。
でも、うまくいきませんでした。 すみませんが教えてください…
HICON icon=::AfxGetApp()->LoadIcon(IDR_MAINFRAME);
if(icon==NULL) ::AfxMessageBox(iconの読み込みに失敗!!);
m_list.SendMessage(LB_SETITEMDATA,0,(long)icon);
2003年7月5日 5:19 PM
LB_SETITEMDATA は、項目毎に、32ビット値を設定する機能です。
LB_GETITEMDATA と組み合わせて使います。
m_list.SendMessage(LB_SETITEMDATA,i, (i番目の項目に設定する値) );
とすると、i番目の項目に (i番目の項目に設定する値) が設定されます。
int nDat = m_list.SendMessage(LB_GETITEMDATA,i,0);
とすると、(i番目の項目に設定する値) が nDat に入ります。
それ以上の機能はないと思います。
項目ごとにアイコンを表示するのは、標準ではできないので、
オーナードローなど使うことになるのでは。
2003年7月7日 12:18 PM
オーナードローが面倒であれば、
CListCtrl(レポートタイプ、ヘッダなし)を使うと簡単ですよ。