在 MFC(Microsoft Foundation Classes)中,CWnd::SetMenu 是一个公共方法,用于为窗口设置菜单。该方法的声明如下:
BOOL SetMenu(HMENU hMenu);

  •  hMenu: 一个 HMENU 句柄,表示要设置为窗口菜单的菜单句柄。


通过调用 SetMenu 方法,你可以将一个已经创建的菜单与窗口相关联,从而实现在窗口中显示菜单。

以下是一个示例,在窗口创建时设置菜单:
BOOL CMyWnd::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
    if (CWnd::OnCreate(lpCreateStruct) == -1)
        return -1;

    // 创建菜单
    HMENU hMenu = ::CreateMenu();
    ::AppendMenu(hMenu, MF_STRING, IDM_FILE_OPEN, _T("Open"));
    ::AppendMenu(hMenu, MF_STRING, IDM_FILE_SAVE, _T("Save"));
    ::AppendMenu(hMenu, MF_STRING, IDM_FILE_EXIT, _T("Exit"));

    // 设置窗口菜单
    SetMenu(hMenu);

    return 0;
}

在这个示例中,首先使用 CreateMenu 创建了一个菜单,然后使用 AppendMenu 添加了一些菜单项。最后,通过调用 SetMenu 将创建的菜单与窗口关联起来。这样,在窗口中就能显示这个菜单了。


转载请注明出处:http://www.zyzy.cn/article/detail/23556/MFC/CWnd