In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Treeview

Foro público de Xailer en español
Responder
fredy[1]
Mensajes: 218
Registrado: Mar Mar 08, 2005 2:03 am

Treeview

Mensaje por fredy[1] »

Hola,
Me he fijado que en el Treeview el evento onclick se evalúa antes de cambiar
de elemento, mientras ondblclick se evalua después de cambiar de elemento
Si pongo
LogDebug( oSender:GetSelectedItem():cText )
en el Onclick() y en el OnDblClick(), me dan resultados distintos
Un saludico,
Fredy
---
avast! Antivirus: Saliente mensaje limpio.
Base de datos de Virus (VPS): 0513-2, 01/04/2005
Comprobado en: 03/04/2005 3:37:20
avast! tiene los derechos reservados (c) 1988-2004 ALWIL Software.
http://www.avast.com
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9253
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Treeview

Mensaje por ignacio »

Fredy,
Ambos eventos son manejados directamente por el API a través de Notify, pero
curiosamente el API no para el mensaje de doble-click y hasta hace poco se
recibia dicho evento dos veces por este motivo. Observamos igualemente que
el evento que dispara el API por Notify sólo funciona cuando se hace
doble-click encima de un item, por lo tanto, decidimos anular el evento
producido por el Notify y dejar únicamente el típico de sistema.
En cualquier caso he hecho las pruebas oportunas permitiendo al API que
gestionase él directamente el dobleclick y los resultados son los mismos, es
decir, el click se evalua antes del cambio y el doble-click despues del
cambio.
Por lo tanto, lo único que podriamos hacer es forzar nosotros el cambio de
Item cuando se hace el click pero me parece un error, y además quedarían sen
sentido un montón de eventos:
OnSelChanged y OnSelChanging
Creo que no tiene solución, a no ser de que lo arregle en el futuro
Microsoft, pero lo estudiaremos más detenidamente.
Saludos,
"Fredy" <fredy@airtel.net> escribió en el mensaje
news:[email=1373632480962384357936@news.ozs.com...]1373632480962384357936@news.ozs.com...[/email]
> Hola,
> Me he fijado que en el Treeview el evento onclick se evalúa antes de
> cambiar de elemento, mientras ondblclick se evalua después de cambiar de
> elemento
>
> Si pongo
> LogDebug( oSender:GetSelectedItem():cText )
> en el Onclick() y en el OnDblClick(), me dan resultados distintos
>
> Un saludico,
> Fredy
>
>
>
>
>
> ---
> avast! Antivirus: Saliente mensaje limpio.
> Base de datos de Virus (VPS): 0513-2, 01/04/2005
> Comprobado en: 03/04/2005 3:37:20
> avast! tiene los derechos reservados (c) 1988-2004 ALWIL Software.
> http://www.avast.com
>
>
>
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
https://www.xailer.com
fredy[1]
Mensajes: 218
Registrado: Mar Mar 08, 2005 2:03 am

Treeview

Mensaje por fredy[1] »

Hola,
Anda que tiene su guasa la cosa,
Despues de leer el mensaje anterior donde me explicabas los ButtonDown, me
he puesto ha probarlo con el treeview.
Tanto oTree:OnLButtonDown como oTree:OnLButtonUp los tengo direccionados
al método "pulsartree" que simplemente tiene un LogDebug( ::oTree:GetSelectedItem:cText
)
Pues bien, si estoy en la rama "uno" y pulso lo rama "dos" ButtonDown me
devuelve "Uno" y ButtonUp me devuelve "Dos".
Por lo visto evalúa el down, hace el cambio, y después evalúa el up. Asi
que con usar este último tema arreglado.
Por cierto, el buttonDown se evalúa dos veces
Un saludico,
Fredy
> Fredy,
>
> Ambos eventos son manejados directamente por el API a través de
> Notify, pero curiosamente el API no para el mensaje de doble-click y
> hasta hace poco se recibia dicho evento dos veces por este motivo.
> Observamos igualemente que el evento que dispara el API por Notify
> sólo funciona cuando se hace doble-click encima de un item, por lo
> tanto, decidimos anular el evento producido por el Notify y dejar
> únicamente el tí­pico de sistema.
>
> En cualquier caso he hecho las pruebas oportunas permitiendo al API
> que gestionase él directamente el dobleclick y los resultados son los
> mismos, es decir, el click se evalua antes del cambio y el doble-click
> despues del cambio.
>
> Por lo tanto, lo único que podriamos hacer es forzar nosotros el
> cambio de Item cuando se hace el click pero me parece un error, y
> además quedarí­an sen sentido un montón de eventos:
>
> OnSelChanged y OnSelChanging
>
> Creo que no tiene solución, a no ser de que lo arregle en el futuro
> Microsoft, pero lo estudiaremos más detenidamente.
>
> Saludos,
>
> "Fredy" <fredy@airtel.net> escribió en el mensaje
> news:[email=1373632480962384357936@news.ozs.com...]1373632480962384357936@news.ozs.com...[/email]
>
>> Hola,
>> Me he fijado que en el Treeview el evento onclick se evalúa antes de
>> cambiar de elemento, mientras ondblclick se evalua después de cambiar
>> de
>> elemento
>> Si pongo
>> LogDebug( oSender:GetSelectedItem():cText )
>> en el Onclick() y en el OnDblClick(), me dan resultados distintos
>> Un saludico,
>> Fredy
>> ---
>> avast! Antivirus: Saliente mensaje limpio.
>> Base de datos de Virus (VPS): 0513-2, 01/04/2005
>> Comprobado en: 03/04/2005 3:37:20
>> avast! tiene los derechos reservados (c) 1988-2004 ALWIL Software.
>> http://www.avast.com
> ---
> avast! Antivirus: Entrante mensaje limpio.
> Base de datos de Virus (VPS): 0513-2, 01/04/2005
> Comprobado en: 04/04/2005 1:07:19
> avast! tiene los derechos reservados (c) 1988-2004 ALWIL Software.
> http://www.avast.com
---
avast! Antivirus: Saliente mensaje limpio.
Base de datos de Virus (VPS): 0513-2, 01/04/2005
Comprobado en: 04/04/2005 1:39:15
avast! tiene los derechos reservados (c) 1988-2004 ALWIL Software.
http://www.avast.com
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9253
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Treeview

Mensaje por ignacio »

Fredy,
> Por cierto, el buttonDown se evalúa dos veces
A mi no. Manda un ejemplo plis.
Saludos,
"Fredy" <fredy@airtel.net> escribió en el mensaje
news:[email=1419632481755401879696@news.ozs.com...]1419632481755401879696@news.ozs.com...[/email]
> Hola,
> Anda que tiene su guasa la cosa,
> Despues de leer el mensaje anterior donde me explicabas los ButtonDown, me
> he puesto ha probarlo con el treeview.
> Tanto oTree:OnLButtonDown como oTree:OnLButtonUp los tengo direccionados
> al método "pulsartree" que simplemente tiene un LogDebug(
> ::oTree:GetSelectedItem:cText )
> Pues bien, si estoy en la rama "uno" y pulso lo rama "dos" ButtonDown me
> devuelve "Uno" y ButtonUp me devuelve "Dos".
> Por lo visto evalúa el down, hace el cambio, y después evalúa el up. Asi
> que con usar este último tema arreglado.
> Por cierto, el buttonDown se evalúa dos veces
>
>
> Un saludico,
> Fredy
>
>
>> Fredy,
>>
>> Ambos eventos son manejados directamente por el API a través de
>> Notify, pero curiosamente el API no para el mensaje de doble-click y
>> hasta hace poco se recibia dicho evento dos veces por este motivo.
>> Observamos igualemente que el evento que dispara el API por Notify
>> sólo funciona cuando se hace doble-click encima de un item, por lo
>> tanto, decidimos anular el evento producido por el Notify y dejar
>> únicamente el típico de sistema.
>>
>> En cualquier caso he hecho las pruebas oportunas permitiendo al API
>> que gestionase él directamente el dobleclick y los resultados son los
>> mismos, es decir, el click se evalua antes del cambio y el doble-click
>> despues del cambio.
>>
>> Por lo tanto, lo único que podriamos hacer es forzar nosotros el
>> cambio de Item cuando se hace el click pero me parece un error, y
>> además quedarían sen sentido un montón de eventos:
>>
>> OnSelChanged y OnSelChanging
>>
>> Creo que no tiene solución, a no ser de que lo arregle en el futuro
>> Microsoft, pero lo estudiaremos más detenidamente.
>>
>> Saludos,
>>
>> "Fredy" <fredy@airtel.net> escribió en el mensaje
>> news:[email=1373632480962384357936@news.ozs.com...]1373632480962384357936@news.ozs.com...[/email]
>>
>>> Hola,
>>> Me he fijado que en el Treeview el evento onclick se evalúa antes de
>>> cambiar de elemento, mientras ondblclick se evalua después de cambiar
>>> de
>>> elemento
>>> Si pongo
>>> LogDebug( oSender:GetSelectedItem():cText )
>>> en el Onclick() y en el OnDblClick(), me dan resultados distintos
>>> Un saludico,
>>> Fredy
>>> ---
>>> avast! Antivirus: Saliente mensaje limpio.
>>> Base de datos de Virus (VPS): 0513-2, 01/04/2005
>>> Comprobado en: 03/04/2005 3:37:20
>>> avast! tiene los derechos reservados (c) 1988-2004 ALWIL Software.
>>> http://www.avast.com
>> ---
>> avast! Antivirus: Entrante mensaje limpio.
>> Base de datos de Virus (VPS): 0513-2, 01/04/2005
>> Comprobado en: 04/04/2005 1:07:19
>> avast! tiene los derechos reservados (c) 1988-2004 ALWIL Software.
>> http://www.avast.com
>
>
>
>
>
> ---
> avast! Antivirus: Saliente mensaje limpio.
> Base de datos de Virus (VPS): 0513-2, 01/04/2005
> Comprobado en: 04/04/2005 1:39:15
> avast! tiene los derechos reservados (c) 1988-2004 ALWIL Software.
> http://www.avast.com
>
>
>
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Responder