我看了徐大哥的一个小程序,对话框左上角的移动等菜单怎么编辑,怎么添加代码呢?
谢谢!

解决方案 »

  1.   

    CMenu* pSysMenu = GetSystemMenu(FALSE);
    if (pSysMenu != NULL)
    {
    CString strAboutMenu;
    strAboutMenu.LoadString(IDS_ABOUTBOX);
    if (!strAboutMenu.IsEmpty())
    {
    pSysMenu->AppendMenu(MF_SEPARATOR);
    pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
    }
    }
      

  2.   

    楼上说的很清楚,使用GetSystemMenu(FALSE);
      

  3.   

    在OnInitDialog()函数里添加
    CMenu* pSysMenu = GetSystemMenu(FALSE);
    if (pSysMenu != NULL)
    {
    CString strAboutMenu;
    strAboutMenu.LoadString(IDS_ABOUTBOX);
    if (!strAboutMenu.IsEmpty())
    {
    pSysMenu->AppendMenu(MF_SEPARATOR);
    pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
                     pSysMenu->AppendMenu(MF_STRING, IDM_MYADDMENU, "Menu name")//自己添加的
     
    }
    }添加后在OnSysCommand()函数中处理菜单消息
      

  4.   

    如果我在一个菜单里边加入两个菜单项,那么应该怎么在OnSysCommand()中处理呢?
    CMenu* pSysMenu = GetSystemMenu(false);
    if (pSysMenu != NULL)
    {
    CString strAboutMenu;
    strAboutMenu.LoadString(IDS_ABOUTBOX);             //定义的第一个菜单项
    if (!strAboutMenu.IsEmpty())
    {
    pSysMenu->AppendMenu(MF_SEPARATOR);
    pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
    strAboutMenu.LoadString(IDS_ABOUTBOC);
                 //定义的第二个菜单项
    pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
    }