CListCtrl eine Zeile markieren



  • hi!

    also mein problem ist, wie schon die überschrift sagt, das ich eine zeile in meiner list control nicht markieren kann.

    versuche das jetzt schon seit zwei tagen und hab auch schon dutzende möglichkeiten die ich im i-net gefunden habe ausprobiert.

    kurz zu meinem programm:

    es ist ein kleines wörterbuch. dabei habe ich eine list control mit zwei spalten für deutsch und englisch. wenn ich jetzt die liste nach einem bestimmten wort durchsuche, sollte die zeile oder auch nur das wort in der liste sichtbar markiert werden.

    habe es schon mit den funktionen SetItemState() und EnsureVisible() probiert aber es funktioniert nicht.

    hoffe das mir jemand helfen kann, bin schon am verzweifeln.


  • Mod

    Und wie hast Du es versucht?

    SetItemState(3,LVIS_SELECTED,LVIS_SELECTED);
    

    Tuts. Wenn dies auch das fokusierte Item sein soll, dann:

    SetItemState(3,LVIS_SELECTED|LVIS_FOCUSED,LVIS_SELECTED|LVIS_FOCUSED);
    


  • ich hätte gerne das diese zeile dann blau markiert wird, aber das tut sie nicht.


  • Mod

    VBlau ist sie nur, wenn das Control den Focus hat. Ansonsten muss der Stil LVS_SHOWSELALWAYS gesetzt sein, damit die Selektion immer gezeigt wird.


Anmelden zum Antworten