Как установить фокус курсора на конкретную строку?
Я использую MFC VC++ для программирования программы мониторинга.
Он показывает данные на экране ListCtrl, listctrl имеет 10 столбцов со стилем отчета.
Хотя экран не прокручивается, он фокусируется непосредственно на одной строке.
Но в то время как экран прокручивается, если я фокусирую одну строку, курсор охватывает больше строк и растет, покрывая весь экран.
Я хочу сделать фокусировку одной строки непосредственно во время прокрутки экрана монитора.
OnInitDialog () и nm_click событие ListCtrl, я использовал несколько стилей, как показано ниже.
//m_List_2100.ModifyStyle(LVS_TYPEMASK, LVS_REPORT); //DWORD dwEXStyle = m_List_2100.GetExtendedStyle(); //m_List_2100.SetExtendedStyle(dwEXStyle | LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT | LVS_EX_DOUBLEBUFFER); ////m_List_2100.SetExtendedStyle(dwEXStyle | LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT | LVS_EX_TRACKSELECT); m_List_2100.ModifyStyle(0, LVS_REPORT, NULL); //m_List_2100.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_INFOTIP | LVS_EX_GRIDLINES | LVS_EX_ONECLICKACTIVATE); m_List_2100.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES); On the NM_CLICK events: void CForm2000::OnNMClickList2100(NMHDR *pNMHDR, LRESULT *pResult) { LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<lpnmitemactivate>(pNMHDR); NMLISTVIEW *pNMListCtrl = (NMLISTVIEW*)pNMHDR; int nSelectIndex = pNMListCtrl->iItem; m_List_2100.SetItemState(nSelectIndex, LVIS_SELECTED, LVIS_SELECTED); m_List_2100.EnsureVisible(nSelectIndex, TRUE); m_List_2100.SetFocus(); }
Спасибо.
Что я уже пробовал:
Я кодировал столько же условий, сколько и выше, но все они потерпели неудачу.