CListBox Selektion abfangen!



  • Hallo!

    Ich moechte abfangen, wenn ein Benutzer einen Eintrag markiert:
    Aber die Funktion wird nicht aufgerufen!!!

    //Initialisierung
    CListCtrl listCtrl_Det;

    //Erstellen der ListCtrl
    BOOL bCreate = listCtrl_Det.Create(WS_CHILD|LBS_NOTIFY|WS_VISIBLE|
    LBS_EXTENDEDSEL|LBS_MULTIPLESEL|
    WS_BORDER|LVS_REPORT, CRect(50,30,370,300)
    ,this,IDC_LIST1);

    //MessageMap
    afx_msg void OnSelchangeList1();

    //MessageMap
    ON_LBN_SETFOCUS(IDC_LIST1, OnSelchangeList1)

    //Klasse
    void CSafetyGuideDlg_Doc::OnSelchangeList1()
    {
    int iTest = 1; // nur zum Brechounkt setzen
    }

    Warum geht das nicht???
    Danke Matthias

    [ Dieser Beitrag wurde am 19.09.2002 um 08:46 Uhr von na_ich editiert. ]



  • Ähm du stellst in einer funktion eine normale Variable auf einen Wert.
    Wahrscheinlich wird die Funktion schon gestartet, aber du kriegst es nicht mit, da du nur eine lokale Variable änderst.
    Diese Variable verliert ihre Gültigkeit nach beenden der Funktion.



  • nein, nein, nein

    das mache ich ja nur um dort einen Brechpunkt zu setzen...
    aber die Funktion wird nie aufgerufen...
    das ist das Problem...



  • Bist du sicher, dass ON_LBN_SETFOCUS richtig ist???
    ON_LBN_SELCHANGE wird wahrscheinlich besser klappen. 🙂
    Meintest du wahrscheinlich auch, oder? Passiert schon mal...

    [ Dieser Beitrag wurde am 18.09.2002 um 15:29 Uhr von MaSTaH editiert. ]



  • ne, hab alles durchprobiert, das geht nicht...



  • Sag mal, was erstellst Du eigentlich??

    LBS_??? sind ListBox-Styles während LVS_??? ListCtrl-Styles sind! Die kann man nicht einfach vermischen !



  • Jo, da hast du recht, aber wie lautet dann mein Message Handler??

    ON_LBN_SELCHANGE(IDC_LIST1, OnSelchangeList) ???



  • Hy!

    Habs gefunden, nach langem Suchen...

    ON_NOTIFY( NM_CLICK, IDC_LIST1, OnSelchangeList )

    Gruss
    Matze



  • Nein, mit NM_CLICK werden auch die Klicks empfangen, die nicht auf einem Item sind.
    ON_LBN_SELCHANGE sollte funktionieren !!



  • ON_LBN_SELCHANGE (IDC_LIST1, OnSelchangeList) ...

    geht nicht... 😞

    dafuer kann man ja noch ne Abfrage machen...

    if ( listCtrl_Doc.GetSelectedCount() > 0 )
    {
    }
    else
    {
    )

    [ Dieser Beitrag wurde am 19.09.2002 um 11:06 Uhr von na_ich editiert. ]



  • Und hier hast Du Deine Begründung, warum es nicht geht:

    For a multiple-selection list box, the LBN_SELCHANGE notification is sent whenever the user presses an arrow key, even if the selection does not change.


Log in to reply