eigenschaft von CListBox: Mehrfach-/Einzelauswahl umschalten
-
Servus
ich habe eine Variable von CListBox (m_List). Jetzt je nach Zustand (Radiobutton 1, 2 od. 3), soll Mehrfachauswahl, Einzelauswahl oder gar keine Selektierung möglich sein.
Wie kann ich zur Laufzeit also die Eigenschaft verändert, dass es sich einmal als Einzelauswahl-Liste verhält und das das andere Mehrfachauswahlmöglichkeiten zulässt? Gar keine Auswahl (Radio-3) ist einfach zu realisieren
-
Schau dir mal die ListBox - Styles an.
Nutze dafür einfach die Methode ModifyStyle().
-
Paul_C. schrieb:
Schau dir mal die ListBox - Styles an.
Nutze dafür einfach die Methode ModifyStyle().Danke das ist es!
aber ich habe noch ein bissl Mühe mit der Anwendung...In den Eigenschaften habe ich Einzelauswahl definiert.
Auf Knopfdruck (zum Testen) wird dieser Code ausgeführt:
m_List.SetFocus(); if(m_List.ModifyStyle(0, LBS_EXTENDEDSEL)){ m_LH.box("modified"); }
**LBS_EXTENDEDSEL:**The user can select multiple items using the SHIFT key and the mouse or special key combinations.
...ist also genau das, was ich brauche
Die MessageBox erscheint, also wurde das Kommando verstanden. trotzdem, etwas funnktioniert noch nicht so. Ist die Anwendung der Methode 'ModifyStyle' falsch? Die MSDN ist etwas dürftig diesbezüglich bzw. ich verstehe es nicht ganz
Jedenfalls ist die Einzelauswahl immer noch aktiv. Weiss jemand wie es geht?
PS: Ich habe die Instanz nicht mit 'create' erzeugt. Es ist eine Member, welche ich mit dem Assistenten für das Control erzeugt hab'.
-
hat niemand eine idee, wie das zu verwenden ist? HELP please
-
Die Einzelauswahl geht ja immer... jetzt geht halt zusätzlich noch die Mehrfachauswahl (wenn Du Shift bzw. Ctrl drückst)...
-
Jochen Kalmbach schrieb:
Die Einzelauswahl geht ja immer... jetzt geht halt zusätzlich noch die Mehrfachauswahl (wenn Du Shift bzw. Ctrl drückst)...
Ja genau. Und dies sollte mit dem ModifyStyle-LBS_EXTENDEDSEL möglich sein. ich kapier aber deren Anwendung nicht, damit die Mehrfachauswahl aktiv wird.
-
Das heißt also, die Mehrfachauswahl funktioniert überhaupt nicht?
Zu ModifyStyle(): Der erste Parameter gibt an, wenn du einen Style löschen möchtest, der zweite gibt den an, den du hinzufügen möchtest.
-
Paul_C. schrieb:
Das heißt also, die Mehrfachauswahl funktioniert überhaupt nicht?
Zu ModifyStyle(): Der erste Parameter gibt an, wenn du einen Style löschen möchtest, der zweite gibt den an, den du hinzufügen möchtest.
- Ich ziehe eine CListBox Control in den Dialog. Erstelle eine Member (m_List vom Typ 'Control' (CListBox).
- Die Eigenschaften des Conotrole setze ich auf 'Einzelauswahl'.
- Irgendo (kann auch bei OnInitDialog sein) schreibe ich
m_List.ModifyStyle(0, LBS_EXTENDEDSEL);
Die Methode gibt true zurück. Dennoch, ich kann keine Mehrfachauswahl tätigen. Schade.
-
MSDN Library schrieb:
After the control has been created, these styles cannot be modified, except as noted.
-
MFK schrieb:
MSDN Library schrieb:
After the control has been created, these styles cannot be modified, except as noted.
Danke MFK.
-
Ist ja interessant. Wusste ich auch nicht.