void CArgumentsTableCtrl::OnLButtonDblClk(UINT nFlags, CPoint point) //void CArgumentsTableCtrl::OnLButtonDown(UINT nFlags, CPoint point) { int index; CListCtrl::OnLButtonDown(nFlags, point); int colnum; if((index = HitTestEx(point, &colnum)) != -1){ UINT flag = LVIS_FOCUSED; if((GetItemState( index, flag ) & flag) == flag) { // Add check for LVS_EDITLABELS if(GetWindowLong(m_hWnd, GWL_STYLE) & LVS_EDITLABELS) { LV_DISPINFO dispinfo; dispinfo.hdr.hwndFrom = this->GetSafeHwnd(); dispinfo.hdr.idFrom = GetDlgCtrlID(); dispinfo.hdr.code = LVN_BEGINLABELEDIT; dispinfo.item.iItem = index; // Send message to the parent that we are ready to edit. SendMessage( WM_NOTIFY, GetDlgCtrlID(),(LPARAM)&dispinfo); EditSubLabel(index, colnum); } } else SetItemState(index, LVIS_SELECTED | LVIS_FOCUSED,LVIS_SELECTED | LVIS_FOCUSED); } }
INT_PTR CPlayerListCtrl::OnToolHitTest(CPoint point, TOOLINFO* pTI) const { int col; int row = HitTestEx(point, &col); if (row == -1) { return -1; } CHeaderCtrl* pHeader = (CHeaderCtrl*)GetDlgItem(0); int nColumnCount = pHeader->GetItemCount(); CRect rect; GetItemRect(row, &rect, LVIR_BOUNDS); for (int colnum = 0; colnum < nColumnCount; colnum++) { int colwidth = GetColumnWidth(colnum); if (colnum == col) { rect.right = rect.left + colwidth; break; } rect.left += colwidth; } pTI->hwnd = m_hWnd; pTI->uId = (UINT)((row << 10) + (col & 0x3ff) + 1); pTI->lpszText = LPSTR_TEXTCALLBACK; pTI->rect = rect; return pTI->uId; }
void CComboListCtrl::OnLButtonDown(UINT iFlags, CPoint obPoint) { // TODO: Add your message handler code here and/or call default int iColumnIndex = -1; int iRowIndex = -1; // Get the current column and row if (!HitTestEx(obPoint, &iRowIndex, &iColumnIndex)) { return; } CListCtrl::OnLButtonDown(iFlags, obPoint); // If column is not read only then // If the SHIFT or CTRL key is down call the base class // Check the high bit of GetKeyState to determine whether SHIFT or CTRL key is down if ((GetKeyState(VK_SHIFT) & 0x80) || (GetKeyState(VK_CONTROL) & 0x80)) { return; } // Get the current selection before creating the in place combo box CString strCurSelection = GetItemText(iRowIndex, iColumnIndex); if (-1 != iRowIndex) { UINT flag = LVIS_FOCUSED; if ((GetItemState(iRowIndex, flag ) & flag) == flag) { // Add check for LVS_EDITLABELS if (GetWindowLong(m_hWnd, GWL_STYLE) & LVS_EDITLABELS) { // If combo box is supported // Create and show the in place combo box if (IsCombo(iColumnIndex)) { CStringList obComboItemsList; GetParent()->SendMessage(WM_SET_ITEMS, (WPARAM)iColumnIndex, (LPARAM)&obComboItemsList); CInPlaceCombo* pInPlaceComboBox = ShowInPlaceList(iRowIndex, iColumnIndex, obComboItemsList, strCurSelection); ASSERT(pInPlaceComboBox); // Set the selection to previous selection pInPlaceComboBox->SelectString(-1, strCurSelection); } // If combo box is not read only // Create and show the in place edit control else if (!IsReadOnly(iColumnIndex)) { CInPlaceEditCombo* pInPlaceEdit = ShowInPlaceEdit(iRowIndex, iColumnIndex, strCurSelection); } } } } }
void FilterListCtrl::OnLButtonDblClk(UINT nFlags, CPoint point) { int item, column; CListCtrl::OnLButtonDblClk(nFlags, point); item = HitTestEx(point, &column); if (item >= 0) { if (callback) callback->OnItemDblClk(item); } }
BOOL CListCtrlEditBase::OnOpen(CListCtrl *pCtrl, NMHDR *pNMHDR) { int nItem, nSubItem; CListCtrlMap map; if (!HitTestEx(pCtrl, pNMHDR, nItem, nSubItem)) return FALSE; CWnd *pWnd = CListCtrlMap::GetSubWnd(pCtrl, nSubItem); if (pWnd == NULL) return FALSE; pWnd->PostMessage(WM_USER_SHOW_EDIT, nItem, nSubItem); return TRUE; }
void CListCtrlEx::OnLButtonDown (UINT nFlags, CPoint Point) { int Index; int ColNum; if ((Index = HitTestEx (Point, &ColNum)) != -1 && Index == GetSelectionMark()) { // This was a slow dbl click CListCtrl::OnLButtonDown (nFlags, Point); EditSubItem (Index, ColNum); } else CListCtrl::OnLButtonDown (nFlags, Point); }
void CGraphicView::OnLButtonDown(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default int n=HitTestEx(point); if(n>=0) m_nFoucsIndext=n; else return; //int nstate=m_bLockBtn.GetCheck(); if(m_bLockBtn.GetCheck()==BST_CHECKED) return; m_LbtDown=TRUE; SetCapture(); CFormView::OnLButtonDown(nFlags, point); }
void CPlayerListCtrl::OnLButtonDown(UINT nFlags, CPoint point) { CListCtrl::OnLButtonDown(nFlags, point); if(GetFocus() != this) SetFocus(); KillTimer(1); int m_nItemClickedNow, m_nSubItemClickedNow; if((m_nItemClickedNow = HitTestEx(point, &m_nSubItemClickedNow)) < 0) { m_nItemClicked = -1; } else if(m_nItemClicked == m_nItemClickedNow /*&& m_nSubItemClicked == m_nSubItemClickedNow*/) { m_nSubItemClicked = m_nSubItemClickedNow; LV_DISPINFO dispinfo; dispinfo.hdr.hwndFrom = m_hWnd; dispinfo.hdr.idFrom = GetDlgCtrlID(); dispinfo.hdr.code = LVN_BEGINLABELEDIT; dispinfo.item.mask = 0; dispinfo.item.iItem = m_nItemClicked; dispinfo.item.iSubItem = m_nSubItemClicked; if(GetParent()->SendMessage(WM_NOTIFY, GetDlgCtrlID(), (LPARAM)&dispinfo)) { if(m_tStartEditingDelay > 0) { SetTimer(1, m_tStartEditingDelay, NULL); } else { dispinfo.hdr.code = LVN_DOLABELEDIT; GetParent()->SendMessage(WM_NOTIFY, GetDlgCtrlID(), (LPARAM)&dispinfo); } } } else { m_nItemClicked = m_nItemClickedNow; m_nSubItemClicked = m_nSubItemClickedNow; SetItemState(m_nItemClicked, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED); } }
// ************************************************************************** // OnLButtonDown () // // Description: // Left mouse button down event handler. // // Parameters: // UINT nFlags Flags. // CPoint cPoint Current location of mouse cursor. // // Returns: // void // ************************************************************************** void CKListEditCtrl::OnLButtonDown (UINT nFlags, CPoint cPoint) { int nIndex; int nCol; // Perform default processing: CListCtrl::OnLButtonDown (nFlags, cPoint); // Determine which item (i.e, row was hit): if ((nIndex = HitTestEx (cPoint, &nCol)) != -1) { // If the item column clicked on is editable, display an edit control: if (nCol > 1) // Only last column is editable EditSubLabel (nIndex, nCol); // otherwise select the item: else SetItemState (nIndex, LVIS_SELECTED | LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED); } }
void CClickList::OnLButtonDblClk(UINT nFlags, CPoint point) { CListCtrl::OnLButtonDblClk(nFlags, point); int Col = 0, Row = HitTestEx(point, Col); CHeaderCtrl *pHeader = const_cast<CClickList *>(this)->GetHeaderCtrl(); if (NULL == pHeader || Row < 0 || Col >= pHeader->GetItemCount()) return; CRowInfo *RowInfo = reinterpret_cast<CRowInfo *>(GetItemData(Row)); if (NULL != RowInfo) for (CEditableColList::iterator it = RowInfo->EditableColList.begin(); it != RowInfo->EditableColList.end(); ++it) if (Col == it->ColNumber) { m_LastEditedRow = m_LastEditedCol = -1; ShowEditControl(Row, Col, it->DataType); return; } }
void CVarListCtrl::OnLButtonDown(UINT nFlags, CPoint point) { int index; CListCtrl::OnLButtonDown(nFlags, point); int colnum; if( ( index = HitTestEx( point, &colnum )) != -1 ) { UINT flag = LVIS_FOCUSED; if( (GetItemState( index, flag ) & flag) == flag && colnum > 0) { // Add check for LVS_EDITLABELS if( GetWindowLong(m_hWnd, GWL_STYLE) & LVS_EDITLABELS ) EditSubLabel( index, colnum ); } else { SetItemState( index, LVIS_SELECTED | LVIS_FOCUSED , LVIS_SELECTED | LVIS_FOCUSED); } } }