![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
¿Y si lo asignas a la propiedad PopupMenu ?
Hola,
Esto es una obviedad, así que no puedo sino pensar que algo se me escapa: me disculpo de antemano contigo, pero, ¿porqué no asignas el PopupMenu a la propiedad correspondiente del formulario y/o componente en cuestión? En todo caso, y, aunque creo recordar que en algún sitio he visto lo mismo hecho de otro modo (tal vez mejor) puedes probar con esto:
Última edición por dec fecha: 17-04-2005 a las 23:39:55. Razón: (Ampliación del texto) |
|
#2
|
||||
|
||||
|
No es que el menú salga en cualquier lado sino que sale desplazado de la posición donde esperas que aparezca. Prueba haciendo click sucesivamente en distintos puntos y verás que el desplazamiento siempre es el mismo.
Lo que sucede es que los eventos OnMouseDown y OnMouseUp te pasan las coordenadas relativas al control mientras que el método Popup del menú espera coordenadas relativas a la pantalla. Así, si das el click en las coordenadas (10, 10) del control, el menú aparecerá en las coordenadas (10, 10) pero de la pantalla. Para remediar esto basta que conviertas las coordenadas. Por ejemplo, si el control es un ListBox:
// Saludos |
|
#3
|
||||
|
||||
|
Así es como roman dice
Hola,
Antes me referí a otra forma de conseguir lo mismo acaso más acertada y que no recordaba exactamente. Pues bien, lo que no recordaba era justamente lo que roman ha indicado en el código que ha escrito y se puede ver más arriba. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|