Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Cambiar fuente en un ttreeview segun niveles

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Cambiar fuente en un ttreeview segun niveles Responder citando

Saludos.
Quiero cambiar la fuente para los distintos niveles de un TTreeView.
Quiero que el nivel 0 del arbol este en negrita, y los demas no.
En el evento OnCustomDrawitem tengo mi codigo que funciona perfectamente para las colores etc.. utilizo SetTextColor(handle color) y funciona perfectamente. Pero el problema es que no consigo cambiar el estilo para ponerlo en negrita.
He probado a cambiar el arbol->canvas->font->style pero no me hace ni caso.
He buscado en la api de win y no hay ningun SetFontStyle o algo asi.
¿Alguien me puede ayudar?

Otra cosilla.. tambien he perdido el dibujo de la crucecilla esa que indica si el nocdo esta en expand o no.. no se como dibujarla. Al utilizar el customdraw la he perdido, y no se como puedo dibujarla manualmente.
Gracias de antemano!

Un saludo
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Hola, mopa, respecto a tu primera pregunta creo recordar que para cambiar el estilo de fuente no basta con insertar o eliminar el estilo que quieres si no que hay que hacerlo como si se tratara de una copia (me pregunto porqué, a ver si alguien lo sabe), me explico:
Código:
arbol->canvas->font->style = arbol->canvas->font->style << fsBold;
A la derecha del igual añadimos el estilo al font, pero no se hace efectivo hasta que no se lo asignamos al propio font.

Si lo que quieres es que no esté en negrita:
Código:
arbol->canvas->font->style = arbol->canvas->font->style >> fsBold;


Suerte.
_________________
Ojos ... no son ojos porque los ves, son ojos porque te miran
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Saludos Enrique,
Gracias por tu respuesta, no era eso el problema, aunque lo que dices es cierto y funciona bien.


El tema estaba en que yo usaba la funcion SetBkMode para poner el canvas transparente, y a partir de ahi, todas las propiedades del canvas se van al garete, y por mucho que cambies cualquier cosa, no funciona debido que hay que hacerlo todo a traves de la api de windows. Asi que el texto te lo escribe siempre igual.
Como no he conseguido saber como cambiar el estilo a traves de la api, he quitado la funcion SetBkMode y he ajustado los rect, parece que ahora va estupendamente.

De todas formas seria interesante que alguien con conocimientos en estas funciones de la api etc, nos diera una explicacion de porque estas cosillas.

Sigo sin saber como dibujar la crucecita esa que indica el estado del nodo. ¿Alguien sabe algo?
Un saludo.
mopa
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.