En este procedimiento se muestra como poner Menú Contextual a Botones.
PROCEDURE MAIN()
DEFINE WINDOW Win_CC ;
AT 0,0;
WIDTH 100 ;
HEIGHT 200 ;
TITLE "Boton Contextual";
MODAL
@ 50, 10 BUTTONEX Btn_Grapics PICTURE "pie16" WIDTH 30 HEIGHT 25 ACTION ShowBtn_Graps_DropDownMenu() SIZE 10 TOOLTIP "Graficas"
DEFINE CONTEXT MENU CONTROL Btn_Grapics
MENUITEM "Grafica Tipo 1" ACTION PCCTool_Grap(1)
MENUITEM "Grafica Tipo 2" ACTION PCCTool_Grap(2)
MENUITEM "Grafica Tipo 3" ACTION PCCTool_Grap(3)
END MENU
//Pega el menu contextual al Boton
Btn_1_DropMenuHandle := _HMG_xContextMenuHandle
END WINDOWS
WIN_CC Center
WIN_CC Activate
RETURN
*----------------------------------------------------------------------------
PROCEDURE ShowBtn_Graps_DropDownMenu()
LOCAL aPos:={0,0,0,0}
// get SCREEN (no window) position of Button_1
GetWindowRect( GetControlHandle( "Btn_Grapics", "Win_CC" ), aPos )
TrackPopupMenu( Btn_1_DropMenuHandle, aPos[1], aPos[2] + Win_CC.Btn_Grapics.Height, GetFormHandle( "Win_CC" ) )
RETURN
*----------------------------------------------------------------------------
PROCEDURE PCCTool_Grap(mTipoGrap)
// Funcion que hace graficas
RETURN