ListBox markierung beibehalten



  • wie schaffe ich es, das die markierung einer listbox beibehalten wird?
    ich möchte, dass wenn ich auf eine zeile klicke, diese z.b. blau wird und wenn ich woanders draufgehe, z.b. eine andere listbox das die markierung dann grau ist und ich immer weiss, welche listbox gerade an welcher zeile markiert ist.



  • wenn ich eine ClistCtrl erstelle, kann ich in der ressourcen dialogansicht rechtsklicken und dort unter

    -formate-auswahl immer anzeigen

    auswählen. kann ich beim initialisieren der normalen listbox auch so ein Flag setzen?



  • Was spricht denn gegen ein ListCtrl ohne Header? 🙂



  • Stimmt, aber da müsste ich den code umändern, und das ist nicht gerade wenig

    zudem ich dann auch ein problem hätte, was mir gerade eingefallen ist.

    Ich klicke doppelt auf eintrag 4. Jetzt werden die Daten ausgegeben von eintrag 4.
    Wenn ich jetzt woanders was bearbeite, dann soll der eintrag 4 markeirt bleiben als "grau" sodass ich weiss welchen eintrag ich bearbeite und die daten stammen.

    Problem: Wenn der User jetzt kurz eintrag 8 anklickt, dann bearbeitet der ja immer noch die daten von 4 aber markiert wäre dann auch die 8 😮

    deswegen wollte ich folgendes machen

    listbox.SetCurSel(4);   // eigetnlich m_listboxpos die wert bei doppelklick erhält
    listbox.SetSelectionMark(4);   // oder so
    

    beidesmale gehts nicht. muss ich ein Flag setzen damit er das checkt? Oder was ist da zu beachten?



  • listbox schrieb:

    Problem: Wenn der User jetzt kurz eintrag 8 anklickt, dann bearbeitet der ja immer noch die daten von 4 aber markiert wäre dann auch die 8 😮

    Disable doch einfach die Liste - oder ist dann die Markierung weg? 😕

    Wenn dir die Codeänderungen zu viel sind, du aber um die Änderung nicht herum kommst, dann mach eine eigene Listctrlklasse, dann kannst du der die Funktionen verpassen, die du brauchst und intern "übersetzen". 🙂



  • wie meinst du disablen?

    wenn ich mit bearbeitung von 4 fertig bin und jetz aber eintrag 12 bearbeiten will, muss ich button drücken zum ent-disabeln?????

    wieso geht das setselmark nicht? das würd ich dann aufrufen wenn listbox den focus verliert z.b.


Anmelden zum Antworten