1、加载图标资源 2、设置窗口菜单栏
注:以下方法参考《windows游戏编程大师技巧(第二版)》第三章内容
我们可以自己下载ico文件和cur文件,可以分别修改窗口图标和鼠标图标,使用这些图标在窗口中
-
项目中添加新建项
-
在项目文件夹里找到新建号的两个文件,并修改其中内容
-
加入头文件,并修改新建的窗口类
加入:#include"resource.h"
修改:
修改成功了!
设置菜单栏方法:
- 修改rc资源文件:
// Resource.rc
#include "resource.h"
MainMenu MENU DISCARDABLE
{
POPUP "File"
{
MENUITEM "OPEN", MENU_FILE_ID_OPEN
MENUITEM "Close", MENU_FILE_ID_CLOSE
MENUITEM "Save", MENU_FILE_ID_SAVE
MENUITEM "Exit", MENU_FILE_ID_EXIT
}
POPUP "Help"
{
MENUITEM "About", MENU_HELP_ABOUT
}
}
- 修改头文件 #include “resource.h”
// 下面同个一级菜单的Id从1000逐个加1,不同的跳过1000
#define MENU_FILE_ID_OPEN 1000
#define MENU_FILE_ID_CLOSE 1001
#define MENU_FILE_ID_SAVE 1002
#define MENU_FILE_ID_EXIT 1003
#define MENU_HELP_ABOUT 2000
3、修改cpp文件,注意要加 #include “resource.h”
/*
LoadMenu:返回menu句柄,函数原型如下:
HMENU
WINAPI
LoadMenuA(
_In_opt_ HINSTANCE hInstance, // handle of application instance
_In_ LPCSTR lpMenuName); // menu name string or menu-resource identifier
*/
HMENU hmenuhandle = LoadMenu(hinstance, "MainMenu");
/*
SetMenu:采用窗口句柄和菜单句柄,将菜单绑定到窗口上
BOOL
WINAPI
SetMenu(
_In_ HWND hWnd, // handle of window to attach to
_In_opt_ HMENU hMenu); // handle of menu
*/
SetMenu(hwnd, hmenuhandle);
菜单完成!!
如何添加相应呢?我们只添加点击的相应,可以修改回调函数,如下:点击about就可以弹出一个框了
case WM_COMMAND:
{
switch (LOWORD(wparam))
{
case MENU_FILE_ID_OPEN:{
}break;
case MENU_FILE_ID_CLOSE:{
}break;
case MENU_FILE_ID_EXIT: {
PostQuitMessage(0);
}break;
case MENU_FILE_ID_SAVE: {
}break;
case MENU_HELP_ABOUT: {
MessageBox(hwnd, "Menu Sound Demo", "About Sound Menu", MB_OK | MB_ICONEXCLAMATION);
}break;
default:
break;
}
}break;