Fecha actual Mié Jun 26, 2024 1:06 pm

Todos los horarios son UTC + 1 hora [ DST ]




Nuevo tema Responder al tema  [ 4 mensajes ] 
Autor Mensaje
 Asunto: TreeView
NotaPublicado: Vie Abr 07, 2006 10:32 pm 

Registrado: Lun Nov 21, 2005 5:19 am
Mensajes: 40
Hola Bruno.

Una cosita, estoy trabajando con treeview e intento utilizar un evento de esta clase, el OnClick en concreto. No funciona. Utilizo el OnDblClick y funciona correctamente. Necesito utilizar el OnClick para lo que quiero hacer. ¿ Será que no funciona bien ?. Me lo hechas un vistazo porfa...

Gracias.

_________________
Inazio Bilbao


Arriba
 Perfil  
Responder citando  
 Asunto: Re: TreeView
NotaPublicado: Dom Abr 09, 2006 12:08 am 
Avatar de Usuario

Registrado: Dom Oct 09, 2005 11:26 am
Mensajes: 362
Ubicación: Salamanca - España
Inazio escribió:
Hola Bruno.

Una cosita, estoy trabajando con treeview e intento utilizar un evento de esta clase, el OnClick en concreto. No funciona. Utilizo el OnDblClick y funciona correctamente. Necesito utilizar el OnClick para lo que quiero hacer. ¿ Será que no funciona bien ?. Me lo hechas un vistazo porfa...

Gracias.


Hola, Inazio.

A ver, creo que tienes un error de concepto, me explico. Según creo yo, el evento OnClick se refiere AL CONTROL y NO A LOS ITEMS.

Si lo que quieres es realizar una acción al pulsar un item, lo tienes que hacer por medio del evento OnChange, te cuento como lo hago yo:

Defino un metodo para añadir cada item:

Method AddTreeItem( cTexto, bOnShow, bOnHide, lBold, nImage ) Class TPanelMainTreeMenu

Local hItem AS HANDLE

SetDefaultBlock( bOnShow, {|| Nil })
SetDefaultBlock( bOnHide, {|| Nil })
SetDefaultLogic( lBold, False )
SetDefaultNumeric( nImage, 1 )

hItem := ::oTreeView:TreeItem( , cTexto, nImage )

If lBold
::oTreeView:SetBoldItem( hItem, True )
EndIf

aAdd( ::aTreeMenu, { hItem, bOnShow, bOnHide })

Return hItem

Como puedes ver aqui, utilizo un array aTreeMenu, donde guardo el handle del item, el codeblock al posicionarse y el contrario.

Y en el metodo OnChange tratamos lo que queremos que suceda....

Bueno, espero haberte aclarado algo.....

_________________
Un saludo.
Jesús P. Melgar Velasco


Arriba
 Perfil  
Responder citando  
 Asunto:
NotaPublicado: Lun Abr 10, 2006 8:38 am 
Site Admin
Avatar de Usuario

Registrado: Jue Oct 06, 2005 10:49 pm
Mensajes: 655
Ubicación: España - Salamanca
Inazio,

Es como te dice Jesús, el evento OnClick se lanza al hacer click en el cuerpo del control, para controlar el click en los items debes usar el evento OnChange.

_________________
Un saludo,
Bruno Cantero
www.c3compiler.com


Arriba
 Perfil  
Responder citando  
 Asunto:
NotaPublicado: Lun Abr 10, 2006 10:25 pm 

Registrado: Lun Nov 21, 2005 5:19 am
Mensajes: 40
O.K. Ante todo daros las gracias a ambos por tomaros unos minutos con un novato, creo que se nota, ¿verdad?. Hace al menos 11 años que dejé el Clipper y eso pasa factura.

Sé que el evento on click actúa sobre el control pero pensaba que podría funcionar lanzándolo y sacar el item que está selecionado
cargando en una variable lo siguiente:

nEti := Left( ::oTree1:GetItemText( ::oTree1:GetSelection()), 3 ),

esto hecho con un onDblClick funciona como yo quiero.

Bueno Jesús, tomaré tus ejemplos para mejorar mis códigos.

De nuevo gracias a ambos. Un saludo.

_________________
Inazio Bilbao


Arriba
 Perfil  
Responder citando  
Mostrar mensajes previos:  Ordenar por  
Nuevo tema Responder al tema  [ 4 mensajes ] 

Todos los horarios son UTC + 1 hora [ DST ]


No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro
No puede enviar adjuntos en este Foro

Buscar:
Saltar a:  
cron