Кнопки вверх/вниз не отключаются
у меня есть некоторые элементы в списке, когда я выбрал один элемент в списке и нажал кнопку вверх непрерывно, тем не менее он достиг верхнего места, и после его повторного верхнего места моя кнопка вверх должна быть расформирована.
но это не расформирование, а удаление элемента, когда он возвращается на первое место и после того, как мы нажали кнопку вверх.
не могли бы вы пожалуйста, помогите мне здесь
Что я уже пробовал:
onupbuutonclicked(){ int item2 = m_clist_ctl.GetNextItem(-1, LVNI_SELECTED); int columns = m_clist_ctl.GetHeaderCtrl()->GetItemCount(); //Leaving out the order# column(0) for (int i = 1; i < columns; i++) { CString str1 = m_clist_ctl.GetItemText(item2 + 1, i); CString str2 = m_clist_ctl.GetItemText(item2, i); m_clist_ctl.SetItemText(item2 + 1, i, str2); m_clist_ctl.SetItemText(item2, i, str1); } m_clist_ctl.SetItemState(item2, ~LVNI_SELECTED, LVNI_SELECTED); m_clist_ctl.SetItemState(item2 + 1, LVNI_SELECTED, LVNI_SELECTED); } OnLvnItemchangedList(NMHDR *pNMHDR, LRESULT *pResult) { LPNMLISTVIEW pNMLV = reinterpret_cast<lpnmlistview>(pNMHDR); // TODO: Add your control notification handler code here int count = m_clist_ctl.GetItemCount(); int row = m_clist_ctl.GetSelectionMark(); int lastRow = count - 1; if ((0 == count) || (row < 0)) { GetDlgItem(IDC_BUTTON_UP)->EnableWindow(FALSE); } else if ((count >= 2) && (row > 0)) { GetDlgItem(IDC_BUTTON_UP)->EnableWindow(TRUE); } else { GetDlgItem(IDC_BUTTON_UP)->EnableWindow(FALSE); } }
не могли бы вы сказать мне, если что-то не так в моем коде