Pregunta

Quiero cambiar el comportamiento predeterminado de un Combobox (C ++, Win32 API). Hago el menú desplegable ComboBox cuando se ingresa algo en su control de edición. Quiero evitar el comportamiento predeterminado que el Combobox busca la primera coincidencia en la lista, lo selecciona y ingresa la cadena seleccionada en el control de edición. ¿Puedo suprimir este comportamiento captando los mensajes respectivos (lb_setcursel, etc.) fuera de la cola de mensajes yo mismo con getMessage ()?

¿Alguien tiene una idea diferente de cómo hacerlo?

Saluda a Michbeck

¿Fue útil?

Solución

Es probable que desee implementar Subclasificación de ventanas. Esto le permite insertar su propia función WNDPROC en el control ComboBox que se llama antes de que se llame al propio WNDPROC del control. Puede filtrar (y soltar) los mensajes de la ventana que no desea que obtenga el control.

No estoy arrancado en mi partición de Windows en este momento para ejecutar SPY ++ en un Combobox para ver qué mensajes realmente recibe. Supongo que quieres filtrar Wm_char de ser recibido por el Combobox.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top