DBO Geschrieben 21. Februar 2002 Geschrieben 21. Februar 2002 hi, diemal ein eigentlich Simples Problem, auf das ich ums verre* nicht komm. Und zwar ich hab ja vorher mal mein Probelm mit der CListCtrl SortItems gepostet...das ist jetz vergessen, hab mir inzwischen meine eigene Routine geschrieben, funktioniert auch alles Wunderbar jetzt wollt ich das der evtl. Ausgewählt eintrag Nach dem Sortieren wieder der selbe ist wie vorher. Eigentlich ja kein Problem: Text des Vorher selektierten eintrags merken, die neu sotierte liste nach diesen Text durchsuchen, neue selektion setzen. Das funzt aber net!!!!!!! Hier mal mein Quellcode: void CUbwa_Recover_Dialog::OnColumnclickListIdxFiles(NMHDR* pNMHDR, LRESULT* pResult) { NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR; // TODO: Add your control notification handler code here CArray<CString, CString> UnsortArray, SortArray; CString CurSelText; bool bNewSelectionSet = FALSE; int x; if(pNMListView->iItem == -1) { //Merken des vorher markierten Eintrages CurSelText = this->m_idx_listbox.GetItemText(m_idx_listbox.GetSelectionMark(), 0); switch(pNMListView->iSubItem) { //Hier wird die List neu Sortiert! }//Ende Switch-Case //Hier soll Selektion neu gesetzt werden! for(int a = 0; ( (a < this->m_idx_listbox.GetItemCount() ) && (bNewSelectionSet == FALSE) ); a++) { TRACE(m_idx_listbox.GetItemText(a,0) ); if(this->m_idx_listbox.GetItemText(a,0) == CurSelText) { //this->m_idx_listbox.SetSelectionMark(a); this->m_idx_listbox.SetCheck(a); bNewSelectionSet = TRUE; } } //War erst nicht drinn hab ich reingebaut weil ich dachte das es evtl. Probleme mit der akt. gibt! Hilft auch nicht this->m_idx_listbox.RedrawItems(0,this->m_idx_listbox.GetItemCount()-1); } *pResult = 0; } Zitieren
Klotzkopp Geschrieben 21. Februar 2002 Geschrieben 21. Februar 2002 SetSelectionMark hat bei mir auch nie richtig funktioniert. Nimm lieber SetItemState: m_idx_listbox.SetItemState( a, LVIS_SELECTED | LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED ); Ach ja, "this->" ist redundant, das kannst Du weglassen Zitieren
DBO Geschrieben 22. Februar 2002 Autor Geschrieben 22. Februar 2002 Original geschrieben von Klotzkopp Ach ja, "this->" ist redundant, das kannst Du weglassen Weis ich da ich aber immer a weng vergässlich bin und immer net genau weis wie die Variablen heissen ist es doch ganz hilfreich wenn durch des this-> eine schöne Box aufklappt woman sich die Variablen und Funktionen in Ruhe aussuchen kann(ohne die Gefahr zu haben sich zu verschreiben) P.S: Nur zur Info: Mein Arbeitskollege meinte das SetselectionMark nur funzt wenn man mehrfachselection eingestellt hat(ist default) wenn man wie in meinen Fall allerdings nur single selection eingestellt hat funzt des sch*ß teil net......naja wenigstens Gets etz halbwegs vernünftig mit SetItemState und GetItemState.... thx! Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.