[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