Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-01-2011
Avatar de fide_uci
fide_uci fide_uci is offline
Miembro
 
Registrado: ene 2009
Ubicación: Cuba - La Habana
Posts: 226
Poder: 16
fide_uci Va por buen camino
Lightbulb Resaltar un nodo dentro de un TreeView

Hola amigos. Mi duda es la siguiente. Estoy desarrollando un cliente de jabber y necesito que los Nodos que son de tipo Grupo, o sea que contienen a los usuarios dentro de si tengan un resaltado. Por ejemplo la fuente sea en negrita. Como podria resaltar un nodo del treeview para diferenciarlo de los otros?

Gracias desde ya. xD !
Responder Con Cita
  #2  
Antiguo 15-01-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola fide_uci.

En este [ enlace ], Zarko Gajic explica como hacerlo.


Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 16-01-2011
Avatar de fide_uci
fide_uci fide_uci is offline
Miembro
 
Registrado: ene 2009
Ubicación: Cuba - La Habana
Posts: 226
Poder: 16
fide_uci Va por buen camino
Esta bueno eso y lo voy a ir utilizando de momento pero no me sirve de mucho por que ademas de poner un nodo en negrita, necesito cambiarle tamaño y color entiendes?. Recuerdo que en el OnDrawItem o algo asi del TreeView se hacia algo que te permitia lograr lo mismo. Saben como puedo hacerlo por esa via?. Mediante el OnCustomDrawItem o en el OnDrawItem del TreeView?
Responder Con Cita
  #4  
Antiguo 16-01-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Ahora te entiendo...

Te pongo un ejemplo utilizando el evento OnCustomDrawItem. En este caso, pone en rojo, negrita y tamaño = 10, aquellos nodos que posean subnodos.

Código Delphi [-]
procedure TForm1.TreeView1CustomDrawItem(Sender: TCustomTreeView;
  Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
  if Node.HasChildren then
  begin
    TreeView1.Canvas.Font.Color:= clRed;
    TreeView1.Canvas.Font.Style:= [fsBold];
    TreeView1.Canvas.Font.Size:= 10; 
  end;
end;

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 16-01-2011 a las 18:59:57.
Responder Con Cita
  #5  
Antiguo 16-01-2011
Avatar de fide_uci
fide_uci fide_uci is offline
Miembro
 
Registrado: ene 2009
Ubicación: Cuba - La Habana
Posts: 226
Poder: 16
fide_uci Va por buen camino
Uff justo eso era lo que andaba buscando. Pero tengo una duda ahora. Sabes que cuando marco un nodo, si le tengo la propiedad RowSelect a true me selecciona todo el nodo completo con un fondo no?. QUe por defecto es Azul. Como puedo cambiar ese fondo o ponerle un color de fondo a un nodo en especifico?
Responder Con Cita
  #6  
Antiguo 16-01-2011
Avatar de fide_uci
fide_uci fide_uci is offline
Miembro
 
Registrado: ene 2009
Ubicación: Cuba - La Habana
Posts: 226
Poder: 16
fide_uci Va por buen camino
O sea cuando voy a pintar los nodos que son de tipo Grupo o sea que van a contener a otros nodos dentro de si, a esos ponerles un background como lo hace el psi y otros jabbers.???
Responder Con Cita
  #7  
Antiguo 16-01-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Con el mismo ejemplo, para pintar el fondo sería:
Código Delphi [-]
...
 if Node.HasChildren then
  begin
    TreeView1.Canvas.Brush.Color:= clYellow; // COLOR DE FONDO 
    TreeView1.Canvas.Font.Color:= clRed;
    TreeView1.Canvas.Font.Style:= [fsBold];
    TreeView1.Canvas.Font.Size:= 10;
  end;
...

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #8  
Antiguo 16-01-2011
Avatar de fide_uci
fide_uci fide_uci is offline
Miembro
 
Registrado: ene 2009
Ubicación: Cuba - La Habana
Posts: 226
Poder: 16
fide_uci Va por buen camino
WoW, ya veo. El gran problema es que todavia no domino los objetos como TCanvas, TRec pero bueno con personas como tu se aprende facil. GG muchas gracias por tu ayuda. Aqui te dejo unas imagenes de como va quedando el cliente de jabber que toy haciendo.

Interfaz de Inicio
http://www.facebook.com/#!/photo.php...00000461193039

Cuando no tenia grupos
http://www.facebook.com/#!/photo.php...00000461193039

Ya con grupos
http://www.facebook.com/#!/photo.php...00000461193039

Última edición por fide_uci fecha: 16-01-2011 a las 22:15:56.
Responder Con Cita
  #9  
Antiguo 16-01-2011
Avatar de fide_uci
fide_uci fide_uci is offline
Miembro
 
Registrado: ene 2009
Ubicación: Cuba - La Habana
Posts: 226
Poder: 16
fide_uci Va por buen camino
Dime entonces, que te parece como va quedando?
Responder Con Cita
  #10  
Antiguo 16-01-2011
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 21
JXJ Va por buen camino
Question

Cita:
Empezado por fide_uci Ver Mensaje
Dime entonces, que te parece como va quedando?
hola

fide_uci

como le haces para implementar jabber?

tienes un servidor jabber o te conectas a uno publico?

no le entiendo bien a jabber y como implementarlo.


tengo el interes en implementar un cliente jabber con delphi.
Responder Con Cita
  #11  
Antiguo 17-01-2011
Avatar de fide_uci
fide_uci fide_uci is offline
Miembro
 
Registrado: ene 2009
Ubicación: Cuba - La Habana
Posts: 226
Poder: 16
fide_uci Va por buen camino
Ha, pues es sencillo de hacer. Si quieres te puedo ayudar gg. LA cosa es que cuando te conectas al server, debes enviar XML y Recibir XML. Mas nada. Cada cosa es con XML. Ejemplo un mensaje seria asi.

Al usuario

<message type="chat" to="JXJ@servidor.net">
<body>Hola, saludos !</body>
</message>

Todo es asi de sencillo. Enviar y recibir XML gg.

Última edición por fide_uci fecha: 17-01-2011 a las 08:10:39.
Responder Con Cita
  #12  
Antiguo 17-01-2011
Avatar de fide_uci
fide_uci fide_uci is offline
Miembro
 
Registrado: ene 2009
Ubicación: Cuba - La Habana
Posts: 226
Poder: 16
fide_uci Va por buen camino
Tengo una Duda. Como los nodos que son de tipo Grupo, llevan un menu diferente a los que son de Tipo usuario, o sea un Popup_menu que es distinto para cada uno. Como asigno un popup a un nodo y otro popup_menu a otro tipo de nodo?
Responder Con Cita
  #13  
Antiguo 20-01-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por fide_uci Ver Mensaje
Dime entonces, que te parece como va quedando?
Disculpa la tardanza en responder, aún estoy de vacaciones y entro cada tanto.

Lo que ví está muy bueno.

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #14  
Antiguo 20-01-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por fide_uci Ver Mensaje
Tengo una Duda. Como los nodos que son de tipo Grupo, llevan un menu diferente a los que son de Tipo usuario, o sea un Popup_menu que es distinto para cada uno. Como asigno un popup a un nodo y otro popup_menu a otro tipo de nodo?
Algo que se me ocurre es verificar en el evento OnMouseDown sobre que nodo estas y asignar a la propiedad PopupMenu del TreeView el PopupMenu correspondiente:
Código Delphi [-]
procedure TForm1.TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if Button = mbRight then
    if TreeView1.Selected.HasChildren then
      TreeView1.PopupMenu:= PopupMenu1 // Grupo
    else
      TreeView1.PopupMenu:= PopupMenu2; // Otros
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 20-01-2011 a las 07:57:01.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
busqueda nodo treeview agustin173 Varios 3 14-07-2010 02:40:40
resaltar nodo seleccionado de treeview manolop Varios 2 05-09-2007 14:46:29
resaltar nodo en ttreeview ? crievep OOP 4 16-05-2006 21:19:58
Seleccionar NODO TreeView jymy788 Varios 3 18-10-2004 15:42:24


La franja horaria es GMT +2. Ahora son las 06:37:39.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi