7章.CListCtrlクラス リストコントロール 7−16.アイテムのどこ(サブアイテム)をクリックしたか知る |
LVS_EX_FULLROWSELECTが指定されてればアイテムとサブアイテムを知ることができます。 指定されてない時はアイテムが−1になるのでSubItemHitTestを使用します。 void CTest0031Dlg::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult) {//NM_CLICK // TODO: この位置にコントロール通知ハンドラ用のコードを追加してください LPNMLISTVIEW lpnmlv=(LPNMLISTVIEW)pNMHDR; CListCtrl *clc=(CListCtrl *)GetDlgItem(IDC_LIST1); LVHITTESTINFO lvh; TRACE("OnClickList1(%d,%d)\n",lpnmlv->iItem,lpnmlv->iSubItem); lvh.pt=lpnmlv->ptAction;//LVS_EX_FULLROWSELECTを指定してない時、、、 TRACE("=%d",clc->SubItemHitTest(&lvh)); TRACE("(%d,%d)\n",lvh.iItem,lvh.iSubItem); *pResult = 0; } |
Top へ戻る |