K's Diary


このページは、たわいのない日々のウワゴトを綴るページです。
なんてツマラナソウナページなんだ(笑)

一応、内容毎にタイトルの色を変えています。
緑色はlinuxに関する話題、 黄色はコンピュータゲームに関する話題、 水色はその他の話題になっています。
なお、スタイルシートに対応していないブラウザでは、 色は変わりませんのであしからず。


過去の日記

全てのトピックを表示


'08/3/31

■ Win32 ImageList_SetBkColor

リストビューコントロールでカスタムドロー機能を使って行毎に背景色を変え、 更にあるカラムは一個ないし複数のアイコンを表示しようと試みた。
カラムのアイコン表示は、一個限定ならばリストビューの機能で出来るっぽいけど (よく調べてはいないが)、複数となるとさすがに無理なので、これもカスタムドローで 実装する事にしてみた。

アイコン描画には、イメージリストとともにImageList_Draw関数を使ってみたのだけど、 どうも透過処理がうまくいかない。
いろいろと調べて、ImageList_SetBkColor関数を使えばいいらしいのだけど、 描画直前に呼んでも変化なし。
あれこれ試行錯誤してみたら、どうやらイメージリストを作成した直後に呼ぶと うまく動作するっぽい。
…、ん?これってつまり、もしかするとイメージの背景色はイメージをイメージリストに 追加した時に背景色が反映されちゃうって事?まぁ確かにその方が処理が早いだろうから 間違いじゃないんだろうけど、今回のように頻繁に背景色を変えたい時には 使えないじゃん。

と、ここまで考えて思いついたけど、それならイメージリストを使わなきゃいいね orz