仮想リストビューでのアイコンエリアについて

[戻る]
ifrit 2006/10/21(土) 15:28:02
■環境
WindowsXP
VisualC++2005
Win32,PlatformSDK

■症状
アイコンモードのリストビュー(LVS_ICONを指定したリストビュー)にて、
LVS_OWNERDATAを指定して仮想リストビュー化したら、左クリックで項目を選択するための範囲が広
くなった。

■やりたいこと
広がった範囲を元に戻したい。

■依頼内容
LVS_OWNERDATAを指定したもの(仮想リストビュー)と、指定していないもの(通常)で、クリック
で選択するための当たり判定の範囲が違うようですが、どうすればLVS_OWNERDATAを指定した場合で
も、通常の当たり判定範囲に変更できるのでしょうか?

当たり判定範囲の違いについて二つほど説明すると、

・ListView_GetItemPosition で、取得できる位置が違う。
 通常の場合は、アイコンの左上の位置が取得される
 仮想リストビューの場合は、項目の左上の位置が取得される(アイコンの左上よりさらに左)

・クリックした時に選択できる範囲が違う。
 通常の場合は、アイコンもしくはテキストをクリックすると、項目が選択できる。
 仮想リストビューの場合は、もっと広い範囲で項目が選択できる。(アイコンの横のスペースも)

といった感じです。

仮想リストビューでも、クリック範囲を通常の場合と同様の範囲に変更できれば、と思っています。
方法を知っている方がおられたらご教授いただけないでしょうか?

よろしくおねがいします。

古いスレッドには追加発言できません。