Win32 Windows编程 八
2020-12-13 04:09
标签:win32 编程 windows sdk mfc 一、系统菜单 1 执行从系统提供的窗口命令,例如最大化、关闭等命令。本质上和普通菜单一样,所以我们也可以在程序中使用这个菜单 2 系统菜单的使用 2.1 获取系统菜单 GetSystemMenu HMENU GetSystemMenu( HWND hWnd, //要获取的窗口句柄 BOOL bRevert; //获取重置标识 ); bRevert: TRUE 重置 FALSE 不重置 当为TRUE时 会将菜单重置成默认状态,并返回菜单句柄,为false菜单项不重置, 获取当前系统菜单的状态 2.2
修改系统菜单, 例如增加、 删除 AppendMenu InsertMenu 比AppendMenu增加了一个插入菜单项的位置 RemoveMenu 删除菜单项 2.3 系统菜单的响应命令 系统菜单的响应命令,实在WM_SYSCOMMAND 中 WPARAm - LOWORD( wParam )为增加菜单的ID 二、右键菜单 1 当在窗口点击右键时,弹出的菜单。 2 右键菜单的使用 2.1 创建菜单 CreatePopMenu 2.2 菜单增加 AppendMenu / InsertMenu 2.3 菜单的显示 TrackPopupMenu 2.4 菜单的命令处理 WM_COMMAND 2.5 使用右键菜单的位置 2.5.1 WM_RBUTTONUP中添加菜单的创建和显示 右键消息坐标转换成屏幕坐标使用 - ClientToScreen 2.5.2 WM_CONTEXTMENU 用于显示右键的菜单的消息 WPARAM - 右键抬起时对应的窗口句柄 LPARAM - 右键抬起时的屏幕坐标 2.5.3 WM_RBUTTONUP 和 WM_CONTEXTMENU对比 1) 坐标系不同,WM_RBUTTONUP 客户区坐标 WM_CONTEXTMENU 屏幕坐标 2)WM_RBUTTONUP 先于 WM_CONTEXTMENU执行 Win32 Windows编程 八,搜素材,soscw.com Win32 Windows编程 八 标签:win32 编程 windows sdk mfc 原文地址:http://blog.csdn.net/ctxbloger/article/details/37650081BOOL TrackPopupMenu(
HMENU hMenu, // handle to shortcut menu
UINT uFlags, // options
int x, // horizontal position
int y, // vertical position
int nReserved, // reserved, must be zero
HWND hWnd, // handle to owner window
CONST RECT *prcRect // ignored
);