Al hacer "click derecho" sobre un objeto en Dynamics Axapta se ejecuta el metodo showContextMenu, el cual como siempre, podemos sobrecargar. Esta es la pinta que tiene inicialmente:
public int showContextMenu(int MenuHandle)
{
int ret;
ret = super(MenuHandle);
return ret;
}
Es como la mayoría de métodos sobrecargados. Vamos a sustituirlo por este otro código:
int showContextMenu(int MenuHandle)
{
int ret;
PopupMenu menu;
int menuItem;
;
// Crea un nuevo menú utilizando el manejador recibido por parámetros
menu = PopupMenu::create(MenuHandle, this.hWnd());
// Añade un nuevo Menu Item al menú recién creado
menuItem = menu.insertItem("Mi nuevo menú");
// Abre el menú
ret = menu.draw();
// Comprueba el Menu Item que se ha pulsado
if (ret == menuItem)
{
// Si es el mío, pongo código aqui
Box::info('Pon tu código aquí!');
return 0;
}
// Si ha pulsado alguno que no es el mío, se lo devuelvo al estándar
return ret;
}
Como se puede ver en el ejemplo, podemos añadir por código un nuevo MenuItem al menu contextual y a la vez, capturar la pulsación del mismo para poder ejecutar nuestro propio código de respuesta.
Descarga