Tamaño fuente ListBox

17/12/2003 - 18:43 por Sergio | Informe spam
Pues tan ¿sencillo? como eso, como puedo cambiar la fuente de un ListBox. Es
básicamente para reducir la longitud de cada item.

Gracias.

Preguntas similare

Leer las respuestas

#1 Rodrigo Corral González
18/12/2003 - 13:13 | Informe spam
Usando SetFont()

Puedes leer:

Puede leer el articulo Q85518 de la Knowledge Base "Correct Use of the
SetFont() Function in MFC".

Un saludo.
Rodrigo Corral González
Respuesta Responder a este mensaje
#2 Sergio
18/12/2003 - 13:46 | Informe spam
No me he explicado bien, queria decir como se puede coger la fuente de un
listbox, cambiarle el tamaño a la fuente, y volversela a poner.
Yo hago lo siguiente:

CFont *vieja;
LOGFONT lf;
vieja = list.GetFont(); //List es la variable que tengo asignada al listbox
if (vieja) {
vieja->GetLogFont(&lf);
lf.lfWidth = 5;
vieja->CreateFontIndirect(&lf);
list.SetFont(vieja,true);
}

Pero no consigo que GetFont() funcione, siempre es NULL, por lo que el resto
de la instrucción no se ejecuta nunca.
Alguna idea?
Respuesta Responder a este mensaje
#3 Rodrigo Corral González
18/12/2003 - 15:55 | Informe spam
El problema es que el tiempo de vida de CFont* vieja no es suficiente,
haz lo siguiente.

CFont m_vieja; //variable miembro de formulario

//En el metodo OnInitDialog
LOGFONT lf;
memset(&lf, 0, sizeof(LOGFONT)); //No estoy seguro de que sea necesario...
list.GetFont()->GetLogFont(&lf);
lf.lfWidth = 5;
m_vieja->CreateFontIndirect(&lf);
list.SetFont(m_vieja,true);

Un saludo
Rodrigo Corral González
Respuesta Responder a este mensaje
#4 Sergio
18/12/2003 - 16:41 | Informe spam
No lo habia puesto(otra vez yo y mis explicaciones), pero tanto vieja, como
lf son funciones miembro de la clase.
He probado tu código, y me pasa lo mismo que antes, el debugger para en la
linea que hago lf.lfWidth = 5, y me dice que hay una infracción a la hora de
escribir. Viendo el valor de todos los miembros de lf veo que estan a 0, o
"" en el caso lfFaceName, por lo que lista.GetFont()->
no surte efecto.
Realmente no me importa hacer GetFont(), solo quiero que la fuente de la
lista sea la de siempre pero mas pequeña, tengo que mostrar bastante texto
por linea, por lo que si tu o alguien sabe cuales son las propiedades de la
fuente de un listbox estandar, que me lo diga, aunque me frustra no poder
hacerlo por código, queda mucho mas elegante.
Respuesta Responder a este mensaje
#5 Sergio
19/12/2003 - 09:18 | Informe spam
Ahora si que estoy frustrado, he tomado como referencia tu proyecto para uno
nuevo(tengo la version anterior del visual studio), y me funciona, pero en
el proyecto sobre el que estoy trabajando no, y tengo todo igual, excepto
por dos cosas, que no deberian importar, una es que uso una vista en vez de
un dialogo, pero eso se que da lo mismo, y la otra es que el listbox lo creo
por código, en vez en tiempo de diseño, pero no deberia influir no?
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida