Veröffentlicht 22. Oktober 200321 j Hi leute Hi leute... sag mal kann es sein dass bei CListCtrl kein einfaches "OnSelChance" ereigniss existiert? so wei bei CListBox.... hab jetzt auf LVN_ITEMCHANGED reagiert, aber das wird teilweise öfters aufgerufen wenn ich eine Markierung ändere.... (hab einzelauswahl in dem ListCtrl) giebt es ein anderes einfaches ereignis? das aufgerufen wird wenn ich die markierung einer zeile ändere? Wär super! MFG SwordMaster
22. Oktober 200321 j Die Nachricht schlägt mehrfach auf, weil mehrere Items ihren Zustand ändern. Eines verliert den Selected-State, eines erhält ihn usw. Die folgenden Nachrichten werden generiert: - Item "alt" verliert 'Selected'-Zustand - Item "alt" verliert 'Focused'-Zustand - Item "neu" erhält 'Selected'- und 'Focused'-Zustand Wenn dich nur interessiert, welches Item jetzt selektiert ist, kannst du das so filtern: NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR; if( pNMListView->uNewState & LVIS_SELECTED ) { // Behandeln.. } [/code]
26. Oktober 200321 j Autor hi selbst mit if( pNMListView->uNewState & LVIS_SELECTED ) funktionierts nicht einwandfrei.... wechsel ich die markierung mit den pfeiltasten so krieg ich mit GetSelectionMark() immer den richtigen Index der Markierten zeile! aber wechsel ich die markierung mal per Mausklick oder per buchstaben(z.b. dass ich ein "t" drücke, dann springt er zu einer zeile die mit "t" beginnt) hab mal ein beispielprogramm online gestellt.... http://mitglied.lycos.de/SwordMaster2003/test.rar die funktion sind nur 3 zeilen, aber man sieht gleich was ich meine .... man muß nur per Mausklick die markierung mal ändern, und schon kriegt man nicht mehr den richtigen index der NEUEN Markierten zeile! ( habt ihr eine idee? MFG SwordMaster
27. Oktober 200321 j Original geschrieben von SwordMaster wechsel ich die markierung mit den pfeiltasten so krieg ich mit GetSelectionMark() immer den richtigen Index der Markierten zeile! Warum benutzt du GetSelectionMark? Der Index sollte in pNMListView->iItem stehen.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.