有两个问题:
一个:菜单加载后可显示,但子菜单是灰色的,不可用?
二个:为什么要有#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);
}
一个:菜单加载后可显示,但子菜单是灰色的,不可用?
二个:为什么要有#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);
}
解决方案 »
- VC6 如何实现 ribbon 风格的窗体,求demo。。。
- RADIO 控件的问题
- DirectUI 如何往List 中插入复选框
- 调用dll 链接出错?
- 线程内核对象怎么跟其他的内核对象不一样?
- 高分求助[在线等]:用vc如何实现某一行文本的颜色反转?
- IE加载控件没有问题,当销毁控件时,IE崩溃,此情况在特殊情况下出现
- 一段ado的代码,各位帮忙看看!
- 如何实现程序处在空闲状态,且未执行任何操作时响应特殊函数,例如windows的屏保
- 看《windows程序设计》100来页了,细节能看懂,但整体把握不住。有只见树木不见森林的感觉
- 很怪的文件输出现象,是不是序列化函数出错?
- 急!!!请问,如何把用邻接表存储的图形信息画图显示?
#define IDR_MENU1 101 后面的101应该可以改为其他数吧?
要将CFrameWnd:: m_bAutomenuEnable设置为FALSE,如果该数据成员为TRUE(缺省
值),工作框将自动地禁止没有ON_UPDATE_COMMAND_UI或者ON_COMMAND的菜单项