Tabellenitems mit Doppelklick auswählen



  • Hallo zusammen,

    ich bräuchte einmal eure fachkundige Hilfe....

    Ich habe in einem Programm für einen Pocket PC eine Tabelle, in welcher ich gerne per Mausklick eine Zeile anwählen, und per Mausdoppelklick mit den in der Tabelle hinterlegten Daten eine Aktion ausführen lassen möchte.
    Hinter der Tabelle steckt eine Klasse CListCtrlStyled, welche von der Klasse CListCtrl erbt. Als spezielle Funktionen kommen nur ein paar Möglichkeiten hinzu, Farbe und Schrift zu ändern, aber das sollte für mein Problem nicht so relevant sein.
    In meinem View bekomme ich auch mit, wenn auf die Tabelle einfach oder doppelt geklickt wurde. Nun will ich nur noch eine Zeile auswählen, wenn sie geklickt wurde, und an die Daten ran, wenn sie doppelt geklickt wurde.
    Aber genau hier haperts. Wie bekomme ich mit, welche Zeile angeklickt ist, und kann sie dann als selektiert anzeigen lassen? Wie kann ich mit bei einem Doppelklick, dann aus der jeweiligen Zeile die Daten herausholen und benutzen?

    Wäre supernett, wenn einer von euch mir bitte dabei möglichst zeitnah weiterhelfen könnte...

    Vielen Dank schonmal im Voraus

    Allen



  • Ich ermittle mit nachfolgendem Code die selectierte Zeile (Singleselect) in einer CListCtrl (Der Pointer zu den Daten wurden wurden vorher mit SetItemData() hinterlegt):

    int pos=-1;
    pos=m_List.GetNextItem(-1,LVNI_SELECTED);
    if(pos<0)...//keiner Ausgewählt
    else{
    CYourData* pData = new CYourData;
    memcpy(pData, (CYourData*)m_List.GetItemData(pos), sizeof(pData));
    
    }
    

    Micha


Anmelden zum Antworten