Combobox, Suchen innerhalb der Auswahlliste

mki_germo

Erfahrenes Mitglied
Hallo,

Ich sitze hier gerade an einer MFC-Anwendung, bei der ich ein doch recht seltsames Verhalten festgestellt habe.

In der Anwendung sind mehrere Comboboxen vorhanden, die beim Start befüllt werden.
Ein Teil dieser Combobox ist über den GUI-Editor erstellt, der Rest wird anhand einer Konfigurationsdatei zur Laufzeit erstell. Das ist soweit auch kein Problem, was mir jetzt jedoch aufgefallen ist, ist das die statische Combobox sich in während der Suche in der Auswahlliste anders verhält als die Dynamischen.

In der statischen Combobox erscheint in der Auswahlliste ein Cursor, je nachdem was ich eingebe (Siehe angehängter Screenshot). Zur Verdeutlichung:

Nehmen wir an, die Combobox enthält folgenden Inhalt:
-ablegen
-aufnehmen
-untersuchen

Normalerweise erwarte ich, wenn ich erst die Taste A drücke, dass mir "ablegen" selektiert wird. Bei einem Druck auf u sollte dann "untersuchen" angewählt werden.
In der Combobox passiert jedoch folgendes:
Taste a -> ablegen wird selektiert, Cursor hinter a
Taste u -> aufnehmen wird selektiert, Cursor hinter au

Das Problem ist halt auch, dass ich den Src von meinem Vorgänger übernommen habe und erstmal nicht sehe, woher dieses Verhalten kommt.

Jemand von euch eine Idee, woher dieses Verhalten kommt.

Danke und Gruss,

Manuel
 

Anhänge

  • Auswahl.jpg
    Auswahl.jpg
    8,7 KB · Aufrufe: 31
Das ist an sich kein Standard-Verhalten, dass muss im Source von deinem Vorgänger irgendwo sein. Wenn er da die normale CComboBox verwendet hat (nicht eine andere Klasse, prüf mal im Header), dann müsste die spezielle Bearbeitung in dem direkten Parent in OnNotify/OnCommand oder in einem übergeordneten Fenster innerhalb PreTranslateMessage passieren.

Da das Verhalten aber nur bei den statischen Combos auftritt, vermute ich eher, dass er eine erweiterte CComboBox-Klasse verwendet hat.
TIP: Falls im Header aber überalle CComboBox steht, prüf mal, ob er das dort nicht kurrzeitig mit einem Define übersteuert hat (siehe Beispiel):

Code:
#undef CComboBox
#define CComboBox CMySuperSearcherComboBox

...

CComboBox   m_MyBox;
 
Habs gefunden, ist alledings doch ein Standartverhalten, das über die Eigenschaft "Sortieren" ausgelößt wird.

@Endurion: trotzdem danke.
 

Neue Beiträge

Zurück