天天看点

在Dialog(基本对话框)中使用BCMenu

 如果说在 SDI 和 MDI 中使用 BCMenu 很麻烦的话,那么在 Dialog 中使用起来就是相当的简单了,不过因为在网页上没有说明 Dialog 里使用 BCMenu 的方法,只有一个很麻烦的示例,所以我的做法是新建一个基本对话框后和示例进行对比得到的,如果出现问题的话(至少我还没发现问题),请与示例文件进行对比。

    首先新建一个MFC基于Dialog的程序,然后自然是创建一个菜单咯。

    再把"BCMenu.h"和"BCMenu.cpp"文件复制到当前的文件夹下。

    单击"工程"->"增加到工程"->"文件",将"BCMenu.h"和"BCMenu.cpp"两个文件加入工程。

    右击"C*Dlg"添加一个成员变量:

在Dialog(基本对话框)中使用BCMenu

    双击"C*Dlg"在其上方添加头文件(绿色为自动生成的脚本,红色为添加的脚本):

// BCMenuDialogDlg.h : header file

//

#if !defined(AFX_BCMENUDIALOGDLG_H__D5EE798A_B08C_4F8A_8404_0BED7C0F108A__INCLUDED_)

#define AFX_BCMENUDIALOGDLG_H__D5EE798A_B08C_4F8A_8404_0BED7C0F108A__INCLUDED_

#include "BCMenu.h" // Added by ClassView

#if _MSC_VER > 1000

#pragma once

#endif // _MSC_VER > 1000

//加入 BCMenu 类的头文件。

#include "BCMenu.h"

/

// CBCMenuDialogDlg dialog

    再在"OnInitDialog"函数里进行添加:

// TODO: Add extra initialization here

//设置风格为 XP(如果要用 ORIGINAL 风格,就设置为 BCMENU_DRAWMODE_ORIGINAL)。

BCMenu::SetMenuDrawMode(BCMENU_DRAWMODE_XP);

//载入需要改变的菜单。

m_menu.LoadMenu(IDR_MENU_MAIN);

SetMenu(&m_menu);

return TRUE; // return TRUE unless you set the focus to a control

    这样就可以了,更多的使用方法可以参考"BCDialogMenu"源文件,如在运行时改变菜单的风格。

转自:http://hi.baidu.com/hammerc/blog/item/21207560d5e2a1d98db10d07.html