Menu pop-up junto al Raton al hacer bRClicked

Menu pop-up junto al Raton al hacer bRClicked

Postby Loren » Sun Feb 24, 2008 9:04 pm

Compañeros:

En un SBUTTON, deseo crear un menu pop-up pulsando el button Derecho del ratón. El código es sencillo y se puede hacer... el problema es que el menú que me genera no aparece junto a la posición del ratón sino en la esquina superior izquierda de la pantalla.

El codigo es el siguiente:

Define Dialog....
redefine sbutton aforo[1] ....
aforo[1]:bRClicked:={ |nRow, nCol, nFlags | dblmenu( nRow, nCol ) }
Activate Dialog.....

funct dblmenu( nRow, nCol)
Local oMenu
C5MENU oMenu POPUP
c5menuitem 'prueba'
C5ENDMENU
ACTIVATE C5MENU oMenu AT nRow, nCol OF oDialog
Return
-------------------------
En otra aplicación lo tengo dentro de un Windows (y me funciona) y en este caso es dentro de un Dialog. ¿Será por eso? ¿Qué solución tiene?
Mil gracias.
LORENZO
Loren
 
Posts: 479
Joined: Fri Feb 16, 2007 10:29 am
Location: Cadiz - España

Postby ADBLANCO » Tue Feb 26, 2008 6:48 pm

Espero que te sirva:

//------------------------------------------------
// Menu POPUP para el clic derecho del mouse sobre
// la ventana principal
STATIC PROCEDURE PopMenu( oWnd )
LOCAL oMenu ,;
aCursor :=GetCursorPos()

MENU oMenu POPUP
MENUITEM 'Opción 1';
RESOURCE 'Bmp16_Candado';
ACTION MsgCalc()
MENUITEM 'Opción 2';
RESOURCE 'Bmp16_Save';
ACTION MsgInfo( 'Accion 2', ' Menu PopUp...' )
SEPARATOR
MENUITEM 'Opción 3';
RESOURCE 'Bmp16_Monedas';
ACTION MsgInfo( 'Accion 3', ' Menu PopUp...' )
ENDMENU
// Aca se compensa la altura del apuntador... la idea es que el Menu se abra
// coincidiendo con la punta de la flecha
aCursor[ 1 ] :=aCursor[ 1 ]-46
ACTIVATE POPUP oMenu OF oWnd;
AT aCursor[ 1 ], aCursor[ 2 ]

RETURN
Saludos

Angel, Valencia, Venezuela

xH .997 - FW 7.9 - BCC55 - WorkShop - MySql
User avatar
ADBLANCO
 
Posts: 299
Joined: Mon Oct 22, 2007 3:03 pm
Location: Valencia - Venezuela


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 70 guests