VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2005/02/04(Fri) 12:46
投稿者K.J.K.
Eメールakiya@koalanet.ne.jp
URL
タイトルRe: アイコン転写時の疑問

PictureBoxやFormのImageプロパティは、内部で保持しているビットマップ
及びメモリーDCを、簡易的にVBのオブジェクトとして扱えるようにされた
ものです。

で、データの変化があった、とVBランタイム内でみなされない限り、現在
関連付けられているPictureオブジェクトを使い続けようとします。API
関数を直接使っても、変化を検出されないので注意が必要です。

変化があった、と検出させるためには、描画関連のメソッドやプロパティ
(一部のものでは効果ありません。)や、リサイズするなどの手があります。
Pictureプロパティを更新することも、その1つになるでしょう。

で、関連した事項について。
SHGetFileInfoでアイコンを取得し描画するのであれば、アイコンハンドル
を経るより、イメージリスト(ImageList_Draw(Ex))経由で行うほうが負担が
かからなくなります。それと、アイコンのハンドルは使い終わったら破棄
(DestroyIcon)しないと。

アイコンのハンドルに拘るのであれば、私ならばOleCreatePictureIndirect
を使います。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -