Xevi,
El uso de PostMsg es trickyware, como dirían los anglosajones, y no puedes
pretender que en calquier caso se produzca el efecto deseado, al menos esa
es mi opinión. Desaconsejo el uso de PostMsg y más aún cuando lo realizas en
medio de operaciones que de por si generan un montón de mensajes.
En cualquier caso ya he modificado la clase Browse para que su RCLICK se
dispare cuando se suelta el botón y no antes.
Un saludo,
"Xevi" <
xevicomas@terra.es> escribió en el mensaje
news:[email=
430ed97d@ozsrvnegro.ozlan.local...]
430ed97d@ozsrvnegro.ozlan.local...[/email]
> Ignacio,
>
> Recuerdo que en otro Compilador+Gui comente un "error" parecido al
> comentado, pues ocurria cuando se pulsaba click, doble clik... y el efecto
> era el mismo comportamiento que he notado con Xailer el cual he comentado,
> y se arregló, pues afectaba precisamente a ese estado, el no detectar de
> Windows el "soltar" el botón... y se me comento algo parecido del API de
> Windows
>
> Un ejemplo en el que necesito utilizar,...
> en un Browse de una MDICHILD con doble clik por ej. lo utilizo para
> seleccionar un registro, y quiero cerrar la ventana y enviar un PostMsg al
> menu para que se desplegue automáticamente...
>
> ¿Que ocurre tal como está ahora el Evento DblClick???
> que cierra la ventana pero por lo visto WINDOWS tiene una tarea pendiente
> de evaluar al soltar el botón.
>
> ¿Que ocurre tal como está ahora el Evento RClick???
> que cierra la ventana CORRECTAMENTE y WINDOWS no tiene ninguna tarea
> pendiente de evaluar al soltar el botón.
>
> Adjunto un simple Ejemplo que reproduce este efecto que comento...
> Del Menu... Opciones5... opción0501.
> al pulsar doble clic en el Browse, debería desplegar el Menu en su estado
> anterior, pero no lo hace...
> Para ver el efecto... si no soltamos el botón en el segundo clik... cierra
> la ventana y el foco ya lo pasa al menu, iluminando la primera opción de
> éste...
>
> Si le damos al Browse con el botón derecho, cierra la ventana
> correctamente, y desplega el menu correctamente, eso quiere decir que ha
> liberado ya WINDOWS de la tarea de soltar el botón.
> Aunque yo creo que sería mas "correcto" que no se evaluara el RClik hasta
> que se soltara el botón.
>
> Si por contra cerramos el Form con el botón, Alf+F4 o con la X de
> cerrar... funciona perfectamente.
>
>
> Bueno, eso...
>
>
> Un Saludo,
> Xevi.
>
>
> "Ignacio Ortiz" <
NoNameToAvoidSpam@ozs.com> escribió en el mensaje
> news:[email=
430ecff3@ozsrvnegro.ozlan.local...]
430ecff3@ozsrvnegro.ozlan.local...[/email]
>> Xevi,
>>
>> Con el doble-click no se puede controlar cuando se suelta el botón del
>> ratón
>> en el segundo click, al menos que yo sepa el API no da ningún mensaje
>> para
>> ello, aunque escribo de memoria y es posible que a lo mejor exista. En
>> cualquier caso yo no veo que el comportamiento sea extraño pues no es muy
>> normal sostener el botón del ratón en un doble-click, pero puedo estar
>> equivocado.
>>
>> En cuanto al RClick, es un evento que se produce cuando se pulsa el botón
>> derecho del ratón, y es así como está definido en el API, lo único que
>> hacemos es procesar el mensaje de Windows. Deberías utilizar el evento
>> oOnRButtonUp que se ejecuta cuando se suelta el botón.
>>
>> Un saludo,
>>
>> Incl
>> "Xevi" <
xevicomas@terra.es> escribió en el mensaje
>> news:430dcc17$[email=
1@ozsrvnegro.ozlan.local...]
1@ozsrvnegro.ozlan.local...[/email]
>>> Hola,
>>>
>>>
>>> Resulta que estoy probando el Doble Click en los objetos de Xailer, y
>>> veo
>>> que el comportamiento es un tanto "extraño"...
>>>
>>> METHOD ArrayBrowse1DblClick( oSender, nPosX, nPosY, nItem ) CLASS TForm2
>>> ::Close()
>>> RETURN Nil
>>>
>>> esto me cierra la ventana activa ANTES de soltar el botón.
>>> lo mismo ocurre en el evento OnRClick
>>>
>>> Por lo visto se lanzan los eventos antes de soltar el botón, cuando,
>>> creo
>>> que debería de hacerlo una vez LIBERADO el botón ¿no creeis???
>>> Como cuando se pulsa Clic en un botón, no se lanza el evento hasta que
>>> no
>>> se libera el botón.
>>> O... probado el OnContextMenu... ese si funciona correctamente,... se
>>> evalua cuando el botón es liberado...
>>>
>>> No se... pero creo que el funcionamiento correcto es el que comento...
>>>
>>> Un Saludo,
>>> Xevi.
>>>
>>>
>>>
>>
>>
>>
>
>
>