たびたび失礼いたします。
CListCtrl::HitTestの使い方がよくわからず、質問させていただきました。
マウスカーソルの位置が、リストコントロールの、項目の上かどうかを
調べたいのですが…
例>
リストコントロールが5行ある場合
1行目 あいうえお
2行目 かきくけこ
3行目 空行
4行目 空行
5行目 空行
1,2行目にカーソルがある場合には、なにかしらの処理。
空行にカーソルがある場合は、何もしない。
という風にしたいのですが。。
アドバイスお願いします;
環境→Windows2000・VC++.NET2003・MFC使用
こんな風にします。
CPoint pt;
GetCursorPos(&pt);
m_list.ScreenToClient(&pt);
int item = m_list.HitTest(pt);
if (item が1,2行目) {
なにかしら;
}
dairygoods様、ありがとうございます。
>CPoint pt;
>GetCursorPos(&pt);
>m_list.ScreenToClient(&pt);
>int item = m_list.HitTest(pt);
>if (item が1,2行目) {
> なにかしら;
>}
上記処理を参考にしましたら、思ってた通りの処理になりました!
ありがとうございましたm(_ _)m
以下解決ソース
CPoint pt;
GetCursorPos(&pt);
m_list.ScreenToClient(&pt);
int count = m_list.GetItemCount();
int item = m_list.HitTest(pt);
if (0 <= item && item < count) {
なにかしら;
}
ツイート | ![]() |