Hola,
Debo de tener algún error de concepto con el método ShowPopupMenu.
Si mirais el ejemplo que os acompaño, mi intención es mostrar el menú popup
en la misma posición relativa del botón que lo llama.
Yo creo el método al ShowPopupMenu se le pasa las posiciones absolutas x,y y
así creo que lo hago.... pero al hacer click en el segundo botón sale muy
desplazado a la derecha el menú.
Si alguien me puede echar una manita... pues eso, que quedo agradecido.
Saludos,
José Luis Capel
PD: aún estoy usando la 1.3 beta
Attached files aaaa.zip (20.7 KB)Â
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.
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.
Error de concepto
Error de concepto
Ups...
Parece que no queda claro lo que digo...
> Yo creo el método al ShowPopupMenu se le pasa las posiciones absolutas x,y
> y así creo que lo hago.... pero al hacer click en el segundo botón sale
> muy desplazado a la derecha el menú.
Yo creo que al método ShowPopupMenu se le pasa las posiciones absolutas x,y
y
así pienso que lo hago.... pero al hacer click en el segundo botón sale muy
desplazado, el menú, a la derecha.
Saludos,
José Luis Capel
Parece que no queda claro lo que digo...
> Yo creo el método al ShowPopupMenu se le pasa las posiciones absolutas x,y
> y así creo que lo hago.... pero al hacer click en el segundo botón sale
> muy desplazado a la derecha el menú.
Yo creo que al método ShowPopupMenu se le pasa las posiciones absolutas x,y
y
así pienso que lo hago.... pero al hacer click en el segundo botón sale muy
desplazado, el menú, a la derecha.
Saludos,
José Luis Capel
- ignacio
- Site Admin
- Mensajes: 9457
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Error de concepto
José Luis,
Las coordenadas son coordenadas de la propia ventana. En definitiva los
posibles valores devueltos por un evento OnContextMenu.
Un saludo,
"José Luis Capel - Aicom" <jose.luis@iaicom.com> escribió en el mensaje
news:46129450$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Ups...
>
> Parece que no queda claro lo que digo...
>
>> Yo creo el método al ShowPopupMenu se le pasa las posiciones absolutas
>> x,y y así creo que lo hago.... pero al hacer click en el segundo botón
>> sale muy desplazado a la derecha el menú.
>
> Yo creo que al método ShowPopupMenu se le pasa las posiciones absolutas
> x,y y
> así pienso que lo hago.... pero al hacer click en el segundo botón sale
> muy
> desplazado, el menú, a la derecha.
>
> Saludos,
> José Luis Capel
>
Las coordenadas son coordenadas de la propia ventana. En definitiva los
posibles valores devueltos por un evento OnContextMenu.
Un saludo,
"José Luis Capel - Aicom" <jose.luis@iaicom.com> escribió en el mensaje
news:46129450$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Ups...
>
> Parece que no queda claro lo que digo...
>
>> Yo creo el método al ShowPopupMenu se le pasa las posiciones absolutas
>> x,y y así creo que lo hago.... pero al hacer click en el segundo botón
>> sale muy desplazado a la derecha el menú.
>
> Yo creo que al método ShowPopupMenu se le pasa las posiciones absolutas
> x,y y
> así pienso que lo hago.... pero al hacer click en el segundo botón sale
> muy
> desplazado, el menú, a la derecha.
>
> Saludos,
> José Luis Capel
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Error de concepto
Hola Ignacio,
Gracias por tu respuesta.
Entonces por lo que he podido entender para mostrar un menú popup debo
indicar en ShowPopUpMenu coordenadas de ventana. Si hago:
METHOD BtnBmp1Click( oSender ) CLASS TForm1
local oMenu
LOCAL aPoints
MENU oMenu POPUP
MENUITEM "Primera opcion"
MENUITEM "Segunda opción"
ENDMENU
aPoints := { oSender:nTop, oSender:nLeft }
aPoints := ClientToScreen(oSender:handle, @apoints )
::ShowPopupMenu(oMenu, aPoints[1], aPoints[2] )
RETURN Nil
Parece ser que tampoco doy con la tecla adecuada.
En el ejemplo que he dejado en mi primer mensaje mi intención es mostrar un
menú popup justo debajo de cada control btnbmp. El evento onclick de cada
botón apuntan al mismo método. De esta manera tendría un solo método que
posicione el menú debajo de su control 'llamante'.
Quedo agradecido por cualquier luz sobre este tema.
Saludos y gracias,
José Luis Capel
PD: adjunto nuevo ejemplo
"Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
news:[email=4612a1ce@ozsrv2.ozlan.local...]4612a1ce@ozsrv2.ozlan.local...[/email]
> José Luis,
>
> Las coordenadas son coordenadas de la propia ventana. En definitiva los
> posibles valores devueltos por un evento OnContextMenu.
>
> Un saludo,
>
> "José Luis Capel - Aicom" <jose.luis@iaicom.com> escribió en el mensaje
> news:46129450$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
>> Ups...
>>
>> Parece que no queda claro lo que digo...
>>
>>> Yo creo el método al ShowPopupMenu se le pasa las posiciones absolutas
>>> x,y y así creo que lo hago.... pero al hacer click en el segundo botón
>>> sale muy desplazado a la derecha el menú.
>>
>> Yo creo que al método ShowPopupMenu se le pasa las posiciones absolutas
>> x,y y
>> así pienso que lo hago.... pero al hacer click en el segundo botón sale
>> muy
>> desplazado, el menú, a la derecha.
>>
>> Saludos,
>> José Luis Capel
>>
>
>
Attached files aaaa.zip (20.8 KB)Â
Gracias por tu respuesta.
Entonces por lo que he podido entender para mostrar un menú popup debo
indicar en ShowPopUpMenu coordenadas de ventana. Si hago:
METHOD BtnBmp1Click( oSender ) CLASS TForm1
local oMenu
LOCAL aPoints
MENU oMenu POPUP
MENUITEM "Primera opcion"
MENUITEM "Segunda opción"
ENDMENU
aPoints := { oSender:nTop, oSender:nLeft }
aPoints := ClientToScreen(oSender:handle, @apoints )
::ShowPopupMenu(oMenu, aPoints[1], aPoints[2] )
RETURN Nil
Parece ser que tampoco doy con la tecla adecuada.
En el ejemplo que he dejado en mi primer mensaje mi intención es mostrar un
menú popup justo debajo de cada control btnbmp. El evento onclick de cada
botón apuntan al mismo método. De esta manera tendría un solo método que
posicione el menú debajo de su control 'llamante'.
Quedo agradecido por cualquier luz sobre este tema.
Saludos y gracias,
José Luis Capel
PD: adjunto nuevo ejemplo
"Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
news:[email=4612a1ce@ozsrv2.ozlan.local...]4612a1ce@ozsrv2.ozlan.local...[/email]
> José Luis,
>
> Las coordenadas son coordenadas de la propia ventana. En definitiva los
> posibles valores devueltos por un evento OnContextMenu.
>
> Un saludo,
>
> "José Luis Capel - Aicom" <jose.luis@iaicom.com> escribió en el mensaje
> news:46129450$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
>> Ups...
>>
>> Parece que no queda claro lo que digo...
>>
>>> Yo creo el método al ShowPopupMenu se le pasa las posiciones absolutas
>>> x,y y así creo que lo hago.... pero al hacer click en el segundo botón
>>> sale muy desplazado a la derecha el menú.
>>
>> Yo creo que al método ShowPopupMenu se le pasa las posiciones absolutas
>> x,y y
>> así pienso que lo hago.... pero al hacer click en el segundo botón sale
>> muy
>> desplazado, el menú, a la derecha.
>>
>> Saludos,
>> José Luis Capel
>>
>
>
Attached files aaaa.zip (20.8 KB)Â
- ignacio
- Site Admin
- Mensajes: 9457
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Error de concepto
José Luis,
Como te he comentado ShowPopupMenu exige coordenadas de ventana (en tu caso
del formulario), no de pantalla.
Un saludo,
"José Luis Capel - Aicom" <jose.luis@iaicom.com> escribió en el mensaje
news:[email=46135807@ozsrv2.ozlan.local...]46135807@ozsrv2.ozlan.local...[/email]
> Hola Ignacio,
>
> Gracias por tu respuesta.
>
> Entonces por lo que he podido entender para mostrar un menú popup debo
> indicar en ShowPopUpMenu coordenadas de ventana. Si hago:
>
> METHOD BtnBmp1Click( oSender ) CLASS TForm1
>
> local oMenu
> LOCAL aPoints
>
> MENU oMenu POPUP
> MENUITEM "Primera opcion"
> MENUITEM "Segunda opción"
> ENDMENU
>
> aPoints := { oSender:nTop, oSender:nLeft }
> aPoints := ClientToScreen(oSender:handle, @apoints )
> ::ShowPopupMenu(oMenu, aPoints[1], aPoints[2] )
>
> RETURN Nil
>
> Parece ser que tampoco doy con la tecla adecuada.
>
> En el ejemplo que he dejado en mi primer mensaje mi intención es mostrar
> un menú popup justo debajo de cada control btnbmp. El evento onclick de
> cada botón apuntan al mismo método. De esta manera tendría un solo método
> que posicione el menú debajo de su control 'llamante'.
>
>
> Quedo agradecido por cualquier luz sobre este tema.
>
> Saludos y gracias,
> José Luis Capel
> PD: adjunto nuevo ejemplo
>
> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
> news:[email=4612a1ce@ozsrv2.ozlan.local...]4612a1ce@ozsrv2.ozlan.local...[/email]
>> José Luis,
>>
>> Las coordenadas son coordenadas de la propia ventana. En definitiva los
>> posibles valores devueltos por un evento OnContextMenu.
>>
>> Un saludo,
>>
>> "José Luis Capel - Aicom" <jose.luis@iaicom.com> escribió en el mensaje
>> news:46129450$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
>>> Ups...
>>>
>>> Parece que no queda claro lo que digo...
>>>
>>>> Yo creo el método al ShowPopupMenu se le pasa las posiciones absolutas
>>>> x,y y así creo que lo hago.... pero al hacer click en el segundo botón
>>>> sale muy desplazado a la derecha el menú.
>>>
>>> Yo creo que al método ShowPopupMenu se le pasa las posiciones absolutas
>>> x,y y
>>> así pienso que lo hago.... pero al hacer click en el segundo botón sale
>>> muy
>>> desplazado, el menú, a la derecha.
>>>
>>> Saludos,
>>> José Luis Capel
>>>
>>
>>
>
>
>
Como te he comentado ShowPopupMenu exige coordenadas de ventana (en tu caso
del formulario), no de pantalla.
Un saludo,
"José Luis Capel - Aicom" <jose.luis@iaicom.com> escribió en el mensaje
news:[email=46135807@ozsrv2.ozlan.local...]46135807@ozsrv2.ozlan.local...[/email]
> Hola Ignacio,
>
> Gracias por tu respuesta.
>
> Entonces por lo que he podido entender para mostrar un menú popup debo
> indicar en ShowPopUpMenu coordenadas de ventana. Si hago:
>
> METHOD BtnBmp1Click( oSender ) CLASS TForm1
>
> local oMenu
> LOCAL aPoints
>
> MENU oMenu POPUP
> MENUITEM "Primera opcion"
> MENUITEM "Segunda opción"
> ENDMENU
>
> aPoints := { oSender:nTop, oSender:nLeft }
> aPoints := ClientToScreen(oSender:handle, @apoints )
> ::ShowPopupMenu(oMenu, aPoints[1], aPoints[2] )
>
> RETURN Nil
>
> Parece ser que tampoco doy con la tecla adecuada.
>
> En el ejemplo que he dejado en mi primer mensaje mi intención es mostrar
> un menú popup justo debajo de cada control btnbmp. El evento onclick de
> cada botón apuntan al mismo método. De esta manera tendría un solo método
> que posicione el menú debajo de su control 'llamante'.
>
>
> Quedo agradecido por cualquier luz sobre este tema.
>
> Saludos y gracias,
> José Luis Capel
> PD: adjunto nuevo ejemplo
>
> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
> news:[email=4612a1ce@ozsrv2.ozlan.local...]4612a1ce@ozsrv2.ozlan.local...[/email]
>> José Luis,
>>
>> Las coordenadas son coordenadas de la propia ventana. En definitiva los
>> posibles valores devueltos por un evento OnContextMenu.
>>
>> Un saludo,
>>
>> "José Luis Capel - Aicom" <jose.luis@iaicom.com> escribió en el mensaje
>> news:46129450$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
>>> Ups...
>>>
>>> Parece que no queda claro lo que digo...
>>>
>>>> Yo creo el método al ShowPopupMenu se le pasa las posiciones absolutas
>>>> x,y y así creo que lo hago.... pero al hacer click en el segundo botón
>>>> sale muy desplazado a la derecha el menú.
>>>
>>> Yo creo que al método ShowPopupMenu se le pasa las posiciones absolutas
>>> x,y y
>>> así pienso que lo hago.... pero al hacer click en el segundo botón sale
>>> muy
>>> desplazado, el menú, a la derecha.
>>>
>>> Saludos,
>>> José Luis Capel
>>>
>>
>>
>
>
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Error de concepto
José Luis,
> aPoints := { oSender:nTop, oSender:nLeft }
Recuerda que Xailer sigue la misma convención para las coordenadas que
Windows, por tanto debes usar:
aPoints := { oSender:nLeft, oSender:nTop }
Saludos,
José Lalín
> aPoints := { oSender:nTop, oSender:nLeft }
Recuerda que Xailer sigue la misma convención para las coordenadas que
Windows, por tanto debes usar:
aPoints := { oSender:nLeft, oSender:nTop }
Saludos,
José Lalín