[C con Clase] Cuarto botón en la barra de título

Steven Davidson steven en conclase.net
Mar Feb 27 06:33:25 CET 2007


Hola Federico,

El pasado 2007-02-23 20:20:52, Federico Luna escribió:

FL> Holaa toda la lista, hace mucho que por falta de tiempo no escribo, 
FL> quisiera saber si es posible, y si lo es, cuál sería el código para que 
FL> en una ventana de windows se vea un cuarto botón que permita minimizar 
FL> la ventana al área de notificación, las funciones para trabajar con el 
FL> área de notificación las conozco, lo que me hace falta es saber cómo 
FL> añado el cuarto botón a la barra de títulode la ventana.

La estrategia a implementar es simular el botón que quieres para luego pintarlo en la barra de título junto con los otros botones. Para hacer esto, tendrás que implementar algunas tareas específicas; principalmente tenemos:

- Procesar el mensaje 'WM_NCPAINT' para pintar sobre la barra de título. Usa 'GetWindowDC()' y 'DrawFrameControl()'.
- Crear alguna estructura para contener la información del botón, para poder emularlo.
- Procesar los mensajes de ratón: WM_NCLBUTTOWNDOWN, WM_MOUSEMOVE, WM_NCHITTEST, y WM_NCLBUTTONUP o WM_LBUTTONUP. Si has capturado el ratón, entonces no se enviará un mensaje WM_NCLBUTTONUP, por lo que necesitarás procesar el mensaje WM_LBUTTONUP.
- También tendrás que procesar el mensaje WM_SETTEXT, por si se cambia el texto de la barra de título.

Puedes consultar este proceso y obtener código fuente yendo a esta página: http://www.catch22.net/tuts/titlebar.asp


Espero que esto te ayude.

Steven


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