菜单加载后可显示,但子菜单是灰色的,不可用,是怎么回事?

mymsdn 2004-04-16 07:53:22
有两个问题:
一个:菜单加载后可显示,但子菜单是灰色的,不可用?
二个:为什么要有#define IDR_MENU1 101,程序才能正常编译?
下面是源程序,还有一个菜单资源没加,但菜单资源应该没有错误的。

#include <afxwin.h>
#define IDR_MENU1 101
#define ID_FILE_EXIT 4001
// 说明应用程序类
class CHelloApp : public CWinApp
{
public:
virtual BOOL InitInstance();
};

// 建立应用程序类的实例
CHelloApp HelloApp;

// 说明主窗口类
class CHelloWindow : public CFrameWnd
{
CStatic* cs;
public:
CHelloWindow();
protected:
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
afx_msg void OnFileExit();
DECLARE_MESSAGE_MAP()
};
//消息映射
BEGIN_MESSAGE_MAP(CHelloWindow,CFrameWnd)
ON_WM_LBUTTONDOWN()
ON_COMMAND(ID_FILE_EXIT,OnFileExit)
//ON_MESSAGE(WM_LBUTTONDOWN,OnLButtonDown)
END_MESSAGE_MAP()

// 每当应用程序首次执行时都要调用的初始化函数
BOOL CHelloApp::InitInstance()
{
m_pMainWnd = new CHelloWindow();
m_pMainWnd->ShowWindow(m_nCmdShow);
m_pMainWnd->UpdateWindow();
return TRUE;
}

// 窗口类的构造函数
CHelloWindow::CHelloWindow()
{
// 建立窗口本身
Create(NULL,
"Hello World!",
WS_OVERLAPPEDWINDOW,
CRect(0,0,200,200));

//给窗口增加菜单
this->LoadFrame(IDR_MENU1);
// 建立静态标签
cs = new CStatic();
cs->Create("hello world",
WS_CHILD|WS_VISIBLE|SS_CENTER,
CRect(50,80,150,150),
this);
}
void CHelloWindow::OnLButtonDown(UINT nFlags, CPoint point )
{
MessageBox("I Love YOU!","GOOD");
}
void CHelloWindow::OnFileExit()
{
//MessageBox("I Love YOU!","GOOD");
PostMessage(WM_CLOSE,0,0);
}
...全文
194 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
itmaster 2004-04-16
  • 打赏
  • 举报
回复

要将CFrameWnd:: m_bAutomenuEnable设置为FALSE,如果该数据成员为TRUE(缺省
值),工作框将自动地禁止没有ON_UPDATE_COMMAND_UI或者ON_COMMAND的菜单项
暗黑帝国 2004-04-16
  • 打赏
  • 举报
回复
建议楼主去看看VC入门的书籍,这些问题一般书上都有讲的
zhengren 2004-04-16
  • 打赏
  • 举报
回复
菜单项灰白那是因为没有对应的菜单响应函数的缘故吧,
mymsdn 2004-04-16
  • 打赏
  • 举报
回复
子菜单的ID是ID_FILE_EXIT,映射了函数的。
mymsdn 2004-04-16
  • 打赏
  • 举报
回复
在CHelloWindow中把该变量置为FALSE后,成功,能简单地说一下是怎么回事吗?但上面我写的消息处理函数没有起作用,WHY?
zhaogaojian 2004-04-16
  • 打赏
  • 举报
回复
是不是子菜单没有映射函数
#define IDR_MENU1 101 后面的101应该可以改为其他数吧?
_foo 2004-04-16
  • 打赏
  • 举报
回复
CFrameWnd::m_bAutoMenuEnable

在CHelloWindow中把该变量置为FALSE试试

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧