Domanda

voglio cambiare il comportamento predefinito di una casella combinata (C ++, API Win32). Faccio il calo casella combinata verso il basso quando si inserisce qualcosa nel suo controllo di modifica voglio evitare il comportamento predefinito che le ricerche ComboBox per la prima partita nella lista, lo seleziona e inserisce la stringa selezionata nel controllo di modifica. Posso sopprimere questo comportamento cattura rispettivo (LB_SETCURSEL etc.) i messaggi dalla coda dei messaggi me stesso con GetMessage ()?

Qualcuno habe una diversa idea di come farlo?

Greets Michbeck

È stato utile?

Soluzione

È probabile che desidera implementare Finestra sottoclassi . Questo consente di inserire la propria funzione WndProc nel controllo ComboBox che viene chiamato prima proprio WndProc del controllo viene chiamato. È possibile filtrare (e drop) i messaggi di finestra non si vuole il controllo da ottenere.

Non sto avviato nella mia partizione di Windows in questo momento di eseguire Spy ++ su una casella combinata per vedere quali messaggi che riceve effettivamente. La mia ipotesi è che si desidera filtrare WM_CHAR di essere ricevuto dal combobox.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top