Frage

Ich möchte das Standardverhalten eines Combobox (C ++, Win32 API) ändern. Ich mache den Combobox -Drop, wenn etwas in seine Bearbeitungssteuerung eingegeben wird. Ich möchte das Standardverhalten vermeiden, dass das Combobox nach der ersten Übereinstimmung in der Liste sucht, es ausgewählt und die ausgewählte Zeichenfolge in die Bearbeitungssteuerung eingibt. Kann ich dieses Verhalten unterdrücken, indem ich die jeweiligen (lb_setcursel usw.) Nachrichten aus der Nachrichtenwarteschlange mit getMessage () herausfangen?

Hat jemand eine andere Vorstellung davon, wie es geht?

Begrüßt Michbeck

War es hilfreich?

Lösung

Sie möchten wahrscheinlich implementieren Fenster Subklasse. Auf diese Weise können Sie Ihre eigene WNDPROC -Funktion in das Combobox -Steuerelement einfügen, das aufgerufen wird, bevor das WndProc des Steuerelements aufgerufen wird. Sie können Fenstermeldungen herausfiltern (und fallen lassen), die die Steuerung nicht erhalten möchten.

Ich bin momentan nicht in meine Windows -Partition gebootet, um Spy ++ auf einem Combobox auszuführen, um zu sehen, welche Nachrichten sie tatsächlich empfangen. Ich vermute, dass Sie Wm_Char herausfiltern möchten, wenn Sie vom Combobox empfangen werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top