- - PR -
c#によるCImageListの使用・代用
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-04-25 15:12
題名のとおりなのですが、MFCのCImageListにあたるクラスまたは代用策を探しています。何でかというと http://www.kab-studio.biz/Programing/Codian/ShellExtension/08.html のページで紹介されているファイルからアイコンを取得する方法を試すときに戻り値としてシステムイメージリストへのポインターが帰ってくるのでそれを操作したいためです。
アイコンの取得だけならいろいろほかの方法があるんですが、キャッシュを使用しているので早いということでどんなものかと試してみたいという興味から・・・ ちなみにshinfo.hIconで取得できるアイコンでアイコンを作成した場合普通の場合、速度にほとんど変化はありませんでした(Marshal.Free(shinfo.hIcon)としても普通にエクスプローラーでは生きてますし。) 現状ではここまでプログラムが終わっています。
ご教授よろしくお願いします。 _________________ 9uiet Design - http://quietdesign.rental.allinoneserver.net/ デザインにこだわったソフトの配布とプログラミングTipsの公開(予定)をしています。 9uiet Blog - http://seiga.blog44.fc2.com/ 笑ったことやプログラミングのことなど書 | ||||
|
投稿日時: 2006-04-25 16:38
些か低レベルですが、comctl32.dll に含まれる ImageList_GetIcon 関数を使うとか。 [ メッセージ編集済み 編集者: Hongliang 編集日時 2006-04-25 16:40 ] | ||||
|
投稿日時: 2006-04-25 22:47
結局その方法にたどり着きいろいろ試していたんですが、とんでもなく早いですね(汗。
30回繰り返しで行うテストをしてみたんですが、差が歴然です。 IconCacheを使用。 1270μs 普通にアイコンを取得 62540μs システムアイコンキャッシュではなく独自でアイコンキャッシュ作ってやってみたんですが、この結果です。さすがメモリとしか言いようのない満足いく結果になりました *^^ # めんどくさかったけどImageList系Apiのラッパクラスがんばって作ってよかった〜 _________________ 9uiet Design - http://quietdesign.rental.allinoneserver.net/ デザインにこだわったソフトの配布とプログラミングTipsの公開(予定)をしています。 9uiet Blog - http://seiga.blog44.fc2.com/ 笑ったことやプログラミングのことなど書 |
1