Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   RightClickSelect en el componente TreeView (https://www.clubdelphi.com/foros/showthread.php?t=52810)

abraxas_dragon 31-01-2008 20:03:12

RightClickSelect en el componente TreeView
 
Hola.

Estoy usando C++ Builder 5 para hacer una aplicación. Tengo un componente TTreeView en donde muestro algunos datos. Tambien uso un componente Popumenu. Quiero que cuando el usuario presione un elemento -hijo- del TreeView con el botón derecho del ratón muestre habilitado una opción del popumenu, para esto en la propiedad RightClickSelect de TreeView la asigno en tiempo de diseño con el valor TRUE.

Ahora bien el árbol puede ser como el siguiente:

Código:

-Fauna
  |- Perros
  |- Vacas
-Flora
  |- Flores
  |- Arboles

Entonces el funcionamiento debe ser el siguiente: si da clic con el boton derecho del raton sobre Fauna o Flora (padres) debe mostrar la opcion del popumenu desabilitado, en caso contrario debe mostrarla habilitada.

Pero el problema es que si se tiene previamente seleccionado (con el boton izquierdo del raton) Fauna (que es padre) y me posiciono sobre Arboles y doy clic derecho del raton sobre este -para mi sorpresa- me muestra desabilitado la opcion del popumenu.

A que se debe ese comportamiento?
Se puede solucionar?

Espero me puedan ayudar y haber sido explicito, omití algunas cosas, ojalá no afecte.

De antemano muchas gracias...

Saludos

keyboy 31-01-2008 20:10:41

Puede deberse a que en el momento en que se abre el menú, el árbol aún no registra el cambio de selección. El TreeView cuenta con el método GetHitTestInfoAt que te da información acerca de sobre qué parte del árbol se está haciendo click. Yo usaría este método en el evento OnMouseDown u OnMouseUp del árbol para determinar exactamente en qué elemento se hace el click y, según el resultado, habilitar o inhabilitar el item del menú.

Bye

maeyanes 31-01-2008 20:15:33

Hola...

Bienvenido a estos foros. Primero, te recomiendo que leas la Guía de Estilo de los foros...

Y el código que usas para habilitar o deshabilitar las opciones del popup menú?

Si nos pones ese código tal vez podriamos ver donde se encuentra tu problema...



Saludos...

abraxas_dragon 31-01-2008 22:31:16

Muchas gracias por sus comentarios, ya encontré la solución; el error consistía por que el codigo no lo agregaba en el evento OnPopup del componente PopuMeu.

Nuevamente, muchas gracias.

Salu2


La franja horaria es GMT +2. Ahora son las 12:34:02.

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