Checkbox in CListCtrl deaktivieren



  • Hallo, ich habe ein List-Control mit Reportstyle.

    Dort habe ich festgelegt, dass Checkboxen verwendet werden sollen.

    SetExtendedStyle(LVS_EX_CHECKBOXES | LVS_EX_FULLROWSELECT);
    

    Wie kann ich jetzt eine der Checkboxen deaktivieren? Ich meine damit nicht, den Haken zu entfernen (das geht ja mit SetCheck) sondern die Checkbox für den User nicht anklickbar machen. Sprich die Checkbox so wie bei einem Control mit

    GetDlgItem(...)->EnableWindow(FALSE); grau und inaktiv darzustellen.



  • Keine Ahnung, aber wenns jemand weis kann er auch gleich verraten wie man die Checkbox vor einem bestimmten eintrag verschwinden lässt, das würde mich nämlich interesieren 😃



  • Kann mir echt keiner helfen? 😕

    Zu deinem Problem:

    @newvet: Mit SetCheck(FALSE) kannst du ne Checkbox ausschalten.



  • Sorry, da haste mich falsch verstanden. Ich will das Häckchen der Checkbox nicht entfernen sondern die Gesammte Checkbox vor einen Eintrag unsichtbar machen sodas z.b nur jeder Zweite Zeile eine Checkbox davor hat.



  • Das ListView control nimmt die state image list für die Checkboxen.
    State image auf 0 setzen ==> keine Checkbox (muß man aber evtl. noch NMCLICK / WM_KEYDOWN abfangen, daß der Nutzer nicht wieder umschaltet).

    Bei einem Tree Control kann man nachträglich eine eigene State Image List setzen, bei der auch ein "disabled"-Eintrag dabei ist. Wieder: Tastatur und Maus abfangen, daß der Nutzer nicht umschaltet.

    Hab mal ein Beispiel für trees geschrieben, Listviews könnten/sollten so ähnlich gehen
    http://www.cherea.de/bitbucket/checktree/checktree.html


Anmelden zum Antworten