码迷,mamicode.com
首页 > 其他好文 > 详细

第08章笔记

时间:2015-06-01 20:57:23      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:mfc 菜单

第8章 菜单的建立


主要内容

建立和使用菜单


菜单的种类:

1:下拉菜单;

2:快捷菜单,又称弹出菜单或右键菜单;

3:系统菜单,又称控制菜单。


菜单和菜单项

菜单和菜单项的关系类似于文件夹和文件。真正实现具体功能的是菜单项,如:“新建”、“打开”、“保存”等;而菜单的作用则是容纳一组相关的菜单项,如“文件”菜单,“编辑”菜单。


菜单资源的建立

1:创建”Resource Script“文件;

2:在”ResourceView“中插入新菜单;

3:修改菜单ID(可选);

4:创建菜单资源中的菜单项:

    菜单只需要设置”Caption“选项,并需要选中”Pop-up“ 选项;

    菜单项需要设置”ID“和”Caption“两项。要注意的是,如果菜单项想使用系统提供的ID,如退出程序”ID_APP_EXIT“,必须要在下拉列表里面选,不可以自己输,否则会资源ID重复定义的错误。


普通菜单的操作

一:菜单的载入

方法1:利用CFrameWnd::Create()方法。

    Create方法声明(详见第2章)

BOOL virtual CFrameWnd::Create(
    LPCTSTR lpszClassName,
    LPCTSTR lpszWindowName,
    DWORD dwStyle = WS_OVERLAPPEDWINDOW,
    const RECT &rect = rectDefault,
    CWnd *pParentWnd = NULL,
    LPCTSRT lpszMenuName = NULL,
    DWORD dwExStyle = 0,
    CCreateContext *pContext = NULL)

    其中的参数lpszMenuName就是一个定义在资源文件(RC文件)中的菜单名称。注意:如果要以菜单的资源ID代表菜单,要使用如下方式:MAKEINTRESOURCE(菜单资源ID)。


方法2:利用CMenu对象。

操作步骤:

1:声明CMenu对象。

2:利用CMenu.LoadMenu(菜单资源ID )载入菜单。

3:利用CFrameWnd::SetMenu(CMenu*)方法为视窗框架对象绑定菜单。

如:

class MyFrame : public CFrameWnd
{
private:
    CMenu *pMenu;
public:
    MyFrame()
    {
        Create(NULL, "My Frame");
        pMenu = new CMenu;
        pMenu->LoadMenu(IDR_MENU1);
        SetMenu(pMenu);
    }
};


系统菜单的操作

未完待续。。。

第08章笔记

标签:mfc 菜单

原文地址:http://3677403.blog.51cto.com/3667403/1657102

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!