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
Menu pop-up junto al Raton al hacer bRClicked
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
//------------------------------------------------
// 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
Angel, Valencia, Venezuela
xH .997 - FW 7.9 - BCC55 - WorkShop - MySql