Тема: AHK: Работа с SystemMenu
Вопроса пока три:
1. Как добавить свои пункты первыми, чтобы дефолтные остались внизу?
2. Как убрать дефолтные пункты оставив свои пункты, а также ресайз окна и работающие кнопки в заголовке?
3. Как сделать дефолтным (выделенный жирным) свой пункт? Изначально это пункт "Закрыть".
Gui, Show, w444 h444, % " "
Gui, +HWNDhGui +ReSize
OnMessage(0x112, "WM_SYSCOMMAND")
hSysMenu := DllCall("GetSystemMenu", "UInt", hGui, "UInt", 0)
DllCall("AppendMenu", "UInt", hSysMenu, "UInt", 0x00000800) ; MF_SEPARATOR
DllCall("AppendMenu", "UInt", hSysMenu, "UInt", 0, "UInt", 0x1001, "Str", "Item 1")
DllCall("AppendMenu", "UInt", hSysMenu, "UInt", 0, "UInt", 0x1002, "Str", "Item 2")
DllCall("AppendMenu", "UInt", hSysMenu, "UInt", 0, "UInt", 0x1003, "Str", "Item 3")
DllCall("DrawMenuBar", "UInt", hGui)
WM_SYSCOMMAND(wParam, lParam)
{
If wParam between 0x1001 and 0x1003
{
ToolTip % wParam
}
}
Return
SystemMenu - меню заголовка окна.
Win10x64 AhkSpy, Hotkey, ClockGui