Code: Select all
//Include
if (!AkelPad.Include("ShowMenu.js")) WScript.Quit();
//Variables
var lpItems;
var nItem;
var nX, nY;
var lpRECT = AkelPad.MemAlloc(16 /*sizeof(RECT)*/);
AkelPad.SystemFunction().Call("User32::GetWindowRect", AkelPad.GetEditWnd(), lpRECT);
nX = AkelPad.MemRead(_PtrAdd(lpRECT, 0), 3 /*DT_DWORD*/);
nY = AkelPad.MemRead(_PtrAdd(lpRECT, 4), 3 /*DT_DWORD*/);
nX += (AkelPad.MemRead(_PtrAdd(lpRECT, 8), 3 /*DT_DWORD*/) - nX) / 2;
nY += (AkelPad.MemRead(_PtrAdd(lpRECT, 12), 3 /*DT_DWORD*/) - nY) / 2;
AkelPad.MemFree(lpRECT);
lpItems=[["ItemA", MF_NORMAL, 101],
["ItemB", MF_SUBMENU],
["ItemB-1", MF_NORMAL, 102],
["ItemB-2", MF_NORMAL, 103],
["ItemB-3", MF_NORMAL|MF_LAST, 104],
["ItemC", MF_NORMAL, 105],
["", MF_SEPARATOR],
["ItemD", MF_NORMAL|MF_GRAYED, 106],
["ItemF", MF_SUBMENU],
["ItemF-1", MF_NORMAL|MF_CHECKED, 107],
["ItemF-2", MF_NORMAL, 108],
["ItemF-3", MF_SUBMENU|MF_LAST],
["ItemF-3a", MF_NORMAL, 109],
["ItemF-3b", MF_NORMAL|MF_LAST, 110]];
nItem=ShowMenu(lpItems, nX, nY);
if (nItem == -1)
WScript.Echo("Nothing selected");
else
WScript.Echo("Item index: " + nItem + "\nItem name: " + lpItems[nItem][0] + "\nItem ID: " + lpItems[nItem][2]);