我们看到我们要使用MAKEINTRESOURCE这个宏来包装我们的菜单ID,其他的参数我们用默认的。 Create(NULL,"MFC Window",WS_OVERLAPPEDWINDOW,rectDefault,NULL,MAKEINTRESOURCE(IDR_MENU1),0,NULL); 不要忘记在前面加上#include "resource.h",在运行程序就会发现菜单。全部程序如下(不包括资源文件) #include <afxwin.h> #include "resource.h" class sample:public CFrameWnd { public: sample() { Create(NULL,"MFC Window",WS_OVERLAPPEDWINDOW,rectDefault,NULL,MAKEINTRESOURCE(IDR_MENU1),0,NULL); MessageBox("My MFC Window","CFrame constructor",MB_OK); } void OnLButtonDown(UINT,CPoint)//添加的消息处理函数 { ::MessageBox(NULL,"ddd","dd",MB_OK); }
DECLARE_MESSAGE_MAP()//消息映射的申明
};
BEGIN_MESSAGE_MAP(sample,CFrameWnd) //这个宏填写两个参数,一个子类,一个父类 ON_WM_LBUTTONDOWN()//左键按下的事件 END_MESSAGE_MAP()//结束宏 class App:public CWinApp { public: BOOL InitInstance(); BOOL ExitInstance();
};
BOOL App::InitInstance() { MessageBox(0,"My MFC Window","InitInstance",MB_OK|MB_ICONASTERISK); sample *obj; obj=new sample; m_pMainWnd=obj; obj->ShowWindow(SW_SHOWMAXIMIZED); return TRUE; }
BOOL App::ExitInstance() { MessageBox(0,"My Window","ExitInstance",MB_OK|MB_ICONHAND); return TRUE; }
App a; 我们这一节用菜单为例子,讲解了资源文件,以及填写参数的方法,下一节再见。
|