[C con Clase] Re: cambiar el tamaó del texto de un boton

Cole fcabecer en xtec.cat
Sab Ene 6 00:28:22 CET 2007


gracias de nuevo, cuando me referia a cambiar los colores no hablaba de los 
botones sinó del texto
----- Original Message ----- 
From: "Salvador Pozo" <salvador en conclase.net>
To: <cconclase en listas.conclase.net>
Sent: Friday, January 05, 2007 8:58 PM
Subject: Re: [C con Clase] cambiar el tamaó del texto de un boton


El pasado 2007-01-05 14:31:46, borubudur escribió:

Hola:

b> hola de nuevo.... y gracias por responder a las dudas que me van 
surgiendo.

Hola:

b> Estoy haciendo un programa de preguntas y respuestas, para ello he 
dispuesto unos botones en la ventana mediante sentencias del tipo ...
b> ...
b>      SetWindowText(hwndBoton7 , respuesta[7]);
b>      SetWindowText(hwndBoton9 , respuesta[9]);
b> ...
b> o sea que no he utilizado el archivo de recursos *.rc
b> Me interesaría mucho poder cambiar los colores y el tamaño del texto, sin 
embargo no encuentro nada referido al texto de los controles, sí he hallado 
fórmulas para TextOut, pero creo que no son de apliación en este caso.

Para cambiar el formato de la fuente del botón debes enviar al control un 
mensaje WM_SETFONT:

  static HFONT hfont;
...
   hfont = (HFONT)GetStockObject( DEFAULT_GUI_FONT );
   SendMessage(hctrl, WM_SETFONT, (WPARAM)hfont, MAKELPARAM(TRUE, 0));

Para cambiar los colores, en teoría, bastaría con procesar el mensaje 
WM_CTLCOLORBTN, pero desafortunadamente, esto no funciona, ya que los 
colores de los botones están predefinidos en el sistema.

En vez de eso, tendrías que crear botones con el estilo owner-draw: 
BS_OWNERDRAW, y procesar los mensajes WM_DRAWITEM. Sin embargo esto es 
bastante complicado de explicar en pocas palabras, y será uno de los temas 
que se trate en próximos capítulos del curso del API (que ahora están en 
preparación).

Hasta pronto.

-- 
Salvador Pozo (Administrador)
mailto:salvador en conclase.net
_______________________________________________
Cconclase mailing list
Cconclase en listas.conclase.net
http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net 






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