[C con Clase] Rebar Control Winapi

Salvador Pozo salvador en conclase.net
Jue Jun 27 17:30:02 CEST 2013


El pasado 2013-06-26 22:56:33, JoseDC escribió:
 
J> Hola estoy intentando insertar dos controles comunes en un control rebar, osea digamos un combobox y un control edit en una sola banda del rebar, hay algunos ejemplos en la web pero en todos insertan un solo control en cada banda del rebar, para que tengan una idea de lo que hablo les adjunto el ejemplo de la web Foosyerdoos (lastima que este caida desde hace unos dias) compilado en Codeblocks 12.11. La clave seria encontrar que mensaje se usa para ello, con el mensaje RB_INSERTBAND se crea una banda y se añade un solo control en ella.

Hola:

Mucho me temo que no es posible añadir más de un control a un rebar. Cualquier cosa que tenga la apariencia de un rebar con más de un control, es un rebar con un toolbar.

La buena noticia es que en una barra toolbar sí es posible añadir cualquier tipo de control, no tiene por qué ser sólo botones.

En tu ejemplo es relativamente sencillo añadir controles a la barra de herramientas, aunque habría que mejorar mucho las rutinas para colocar cada control en el sitio adecuado, calculando anchuras y posiciones.

Por ejemplo, añade esta línea al final de la función InitToolbar:

CreateWindowEx(0, "COMBOBOX", NULL, CBS_DROPDOWNLIST | CBS_SORT | WS_VISIBLE |
		WS_TABSTOP | WS_VSCROLL | WS_CHILD, 400, 5, 100, 140, hToolbar, (HMENU)999, GetModuleHandle(NULL), NULL);

(Seguramente tendrás que ajustar las coordenadas (400,5) para que no se tape ningún botón).

Lo mismo vale para insertar otros controles, como controles de edición.

P.D.: he de reconocer que me ha costado un rato encontrar la solución, pero ha sido muy interesante. :)

Hasta pronto.

-- 
Salvador Pozo (Administrador)
mailto:salvador en conclase.net
Blog con Clase: http://blogconclase.wordpress.com
Con Clase: http://conclase.net


Más información sobre la lista de distribución Cconclase