人山人海的十一假期结束了,继续我们的游戏开发学习,今天继续我们的win32基础编程,在窗体上创建菜单、事件响应和绘制图形等。好吧(你已经烦了),废话少说,开始了:
[b]一、窗口上添加菜单[/b]
首先,创建菜单头文件MENU.H文件,定义菜单选项,内容如下:
然后,创建资源文件MENU.RC,声明菜单按钮,内容如下:
最后加载菜单:
winclass.lpszMenuName="MainMenu";//菜单资源名称
//将菜单句柄传入createWindow()函数
LoadMenu(hinstance,"MainMenu")//返回菜单句柄
好了运行的你的工程,出现结果了吗?我相信你肯定出现了,因为你超牛的!
[b]二、响应菜单事件[/b]
其实,很简单啦,当您每次单击菜单时,就向我们定义的winproc回调函数发送了一个WM_COMMAND类型的消息,所以我们只要处理该消息,便可以达到响应事件的效果,我们在毁掉函数中加入如下代码:
[b]一、窗口上添加菜单[/b]
首先,创建菜单头文件MENU.H文件,定义菜单选项,内容如下:
#define MENU_FILE_ID_OPEN 10000
#define MENU_FILE_ID_CLOSE 10001
#define MENU_FILE_ID_SAVE 10002
#define MENU_FILE_ID_EXIT 10003
然后,创建资源文件MENU.RC,声明菜单按钮,内容如下:
#include "MENU.H"
MainMenu MENU DISCARDABLE
{
POPUP "文件"
{
MENUITEM "打开",MENU_FILE_ID_OPEN
MENUITEM "关闭",MENU_FILE_ID_CLOSE
MENUITEM "保存",MENU_FILE_ID_SAVE
MENUITEM "退出",MENU_FILE_ID_EXIT
}
}
最后加载菜单:
winclass.lpszMenuName="MainMenu";//菜单资源名称
//将菜单句柄传入createWindow()函数
LoadMenu(hinstance,"MainMenu")//返回菜单句柄
好了运行的你的工程,出现结果了吗?我相信你肯定出现了,因为你超牛的!
[b]二、响应菜单事件[/b]
其实,很简单啦,当您每次单击菜单时,就向我们定义的winproc回调函数发送了一个WM_COMMAND类型的消息,所以我们只要处理该消息,便可以达到响应事件的效果,我们在毁掉函数中加入如下代码:
case WM_COMMAND:
{
switch(LOWORD(wparam)){//老实说:我也不知道这个函数是什么意思,从何而来,起什么作用
case MENU_FILE_ID_EXIT:
{
// 退出
PostQuitMessage(0);
} break;
case MENU_FIL