Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-11-2010
rruffino rruffino is offline
Miembro
 
Registrado: dic 2004
Ubicación: Berrotaran, Cordoba - Argentina
Posts: 215
Poder: 22
rruffino Va por buen camino
Question Ayuda conTReeView y PopupMenu

Hola a todos. Tengo un treeview cargado de manera estática, y le he asignado un popu menu. Lo que quiero lograr es que cuando hago click derecho sobre la raiz no me muetre el popupmenu y que si lo haga cuando hago click derecho sobre un hijo. El tree es de dos niveles, es decir, varios padres con varios hijos, no tengo padres dentro de padres. Esto es a fines de que cuando haga click derecho en el hijo me de la opción de agregarlo a una especie de favoritos para tener un acceso directo sin necesidad de buscar por el tree. Desde ya les agradezco su disposición y ayuda.
Responder Con Cita
  #2  
Antiguo 25-11-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.442
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Se me ocurren dos opciones que deberías probar.

La primera es que una vez que visualices el PopupMenu, si no es el item que deseas lo vuelvas a ocultar. Si no recuerdo mal hay un evento que salta al visualizar el menú.

La otra opción (un poco más compleja) es que no asignes el PopupMenu a la propiedad y lo muestres manualmente. De esta forma puedes decidir cuando motrarlo y cuando no. Pare ello debes capturar el Click derecho del ratón, y utilizar el procedimiento del PopupMenu para mostrarlo manualmente (Popup o DoPopup).
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 25-11-2010
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 25
Caro Va por buen camino
Hola, siguiendo las ideas de Neftali, me ha funcionado de esta forma, utilizando el evento OnContextPopup.

Código Delphi [-]
procedure TForm1.TreeView1ContextPopup(Sender: TObject; MousePos: TPoint;
  var Handled: Boolean);
var
 Nodo: TTreeNode;
begin
  Nodo := TreeView1.GetNodeAt(MousePos.X, MousePos.Y);
  if (Nodo <> nil) then
   begin
    TreeView1.Select(Nodo);
    if Not(Nodo.HasChildren) then
     TreeView1.PopupMenu := PopupMenu1
    else
     TreeView1.PopupMenu := Nil;    
   end;
end;

No debes asignar el popupmenu en diseño al TreeView.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #4  
Antiguo 25-11-2010
rruffino rruffino is offline
Miembro
 
Registrado: dic 2004
Ubicación: Berrotaran, Cordoba - Argentina
Posts: 215
Poder: 22
rruffino Va por buen camino
ultima consulta.... creo

Hola y muchas gracias por las respuestas. He implementado esto ultimo y me funciona barbaro. Ahora, en el popup menu realizo una operación y esta no me toma el indice que esta seleccionado en el arbol, es decir, que cuando hago click derecho sobre un hijo me muestra el popupmenu pero cuando accedo a la operacion del popup no me toma el indice del arbol en donde estoy parado. Si primero hago click izquierdo y luego click derecho si me funciona al pelo, pero queria hacerlo solo con el derecho. Les agradezco si me tiran hilo de como hacerlo. Gracias!!!!
Responder Con Cita
  #5  
Antiguo 25-11-2010
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 25
Caro Va por buen camino
Cita:
Empezado por rruffino Ver Mensaje
Ahora, en el popup menu realizo una operación y esta no me toma el indice que esta seleccionado en el arbol.......
Hola de nuevo, cambia esta linea:

Código Delphi [-]
    TreeView1.Select(Nodo);

por esta otra, para que te tome el indice correctamente

Código Delphi [-]
    TreeView1.Selected := Nodo;

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #6  
Antiguo 25-11-2010
rruffino rruffino is offline
Miembro
 
Registrado: dic 2004
Ubicación: Berrotaran, Cordoba - Argentina
Posts: 215
Poder: 22
rruffino Va por buen camino
Wink Solucionado

Perfecto Caro, funciona al pelo.
Agradezco las respuestas de todos.
Saludos!!
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
PopupMenu !!! Ledian_Fdez OOP 6 08-11-2010 23:12:54
PopupMenu cmfab Varios 1 01-11-2010 23:00:18
El PopupMenu skinnerpro OOP 4 16-10-2007 01:47:30
Ayuda con PopupMenu JerS Varios 2 12-10-2005 19:45:51
popupMenu jorodgar Varios 7 20-04-2005 17:16:22


La franja horaria es GMT +2. Ahora son las 07:01:10.


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