Verhindern das CListCtrl "nichts" markiert bzw. selektierung aufhebt



  • Hallo,

    ich will dass immer 1 Item im CListCtrl markiert ist auch wenn der User auf einen "leeren" Bereich klickt. Normalerweise ist es ja so, dass wenn der User auf einen leeren Bereich klickt, verschwindert die Markierung, d.h. keine Item ist ausgewählt und keine Markierung wird gezeichnet

    Wie kann ich das Verhindern?


  • Mod

    Hmmmm. So einfach nicht. Evtl. Timer setzen und kontrollieren ob etwas markiert ist.

    LVN_ITEMCHANGING/ED geht nicht denn zwischenzeitlich mag es ja erlaubt sein, dass nichts selektiert ist, wenn sich z.B. die Auswahl ändert.



  • Der Inhalt des Control ändert sich ja nicht, deshalb sollte immer etwas selektiert sein!



  • Du kannst ja auf Klick reagieren und schauen ob ein anderes ausgewählt wurde. Wenn es ein Lerrer Berech ist dann selektiere wieder eines.


  • Mod

    AnTri schrieb:

    Der Inhalt des Control ändert sich ja nicht, deshalb sollte immer etwas selektiert sein!

    LVN_ITEMCHANG... wird aber auch aufgerufen, wenn die Auswahl sich ändert.

    @Unix-Tom: IMHO ist dieser Weg nicht gut. Stell Dir mal vor, der User geht auf das Item und drückt Strg+Leertaste, damit hebt er die aktuelle Selektion mit der Tastatur auf.

    Ich würde immer zu einem Weg greifen, der die Auswahl selbst behandelt, also entweder über LVN_ITEMCHANG... (was evtl. Tricky ist), oder über einen Timer, was IMHO sehr simpel ist.


Anmelden zum Antworten