0x6_windows中的资源

  • 资源是windows应用程序图形用户界面的重要组成部分。
  • 每个应用程序都包含多种数据,在编译后被包含进EXE可执行程序中(光标、位图、图标、加速键、菜单、字符串、对话框等)
  • 我们无法直接定位资源,我们如果要使用就需要用Loadxxx函数来获得资源的句柄来操作他们。

在这里插入图片描述

光标

  • 后缀 .cur
// 添加用户自定义光标的步骤
// 1、创建或者导入光标 记录光标的ID(IDC_CURSOR1)
// 2、加载光标
HCURSOR hCur = LoadCursor(hInstance,MAKEINTRESOURCE(IDC_CURSOR1));
// 3、设置光标
SetClassLong(hWnd,GCL_HCURSOR,(LONG)hCur);
// SetCursor 占时修改一下光标
标识形状
IDC_ARROW箭头
IDC_CROSS十字线
IDC_IBEAMI形线
IDC_WAIT沙漏

图标

  • 后缀 .ico
标识形状
IDI_APLICATION缺省图标
IDI_ASTERISK信息图标
IDI_EXCLAMATION惊叹号图标
IDI_HAND停止图标
IDI_QUESTION问号图标
// 设置图标
WNDCLASS wnd;
...
wnd.hIcon = LoadIcon(hInstance,IDI_QUESTION);

菜单

菜单一共分为一下几个部分:
1、窗口主菜单条
2、下拉式菜单框
3、选项热键标识
4、选项加速键标识
5、选项分隔线

创建菜单的几种方式

1、窗口类中加载
WNDCLASS wnd;
...
wnd.lpszMenuName = lpszMenuName;


2、在创建窗口时加载

HMENU hMenu = LoadMenu(hInstance, _T("Menu"));
CreateWindow(...,...,...,...
...,...,...,...,
hMenum,...,...);

3、动态加载
HMENU hMenu2 = LoadMenu(hInstance,_T("Menu2"));
SetMenu(hWnd,hMenu2);

操作选项

禁止或激活菜单的选项

EnableMenuItem(HMENU hMenu, UINT wIDEnableItm, UINT dwEnable);
  • dwEnable 选项标识
选项说明
MF_BYCOMMAND以ID值标识选项
MF_BYPOSTION以位置标识选项
MF_DISABLE禁用
MF_ENABLE启用
MF_GRAYED禁用选项并使其暗淡显示

设置、取消选择标识

CheckMenuItem(HMENU hMenu,UINT iIdCheckItem,UINT uCheck);
选项说明
MF_BYCOMMAND以ID值标识选项
MF_BYPOSTION以位置标识选项
MF_CHECKED添加选中标识
MF_UNCHECKED删除选中标识

添加选项

  • 在尾部添加
BOOL AppendMenu(  
  HMENU hMenu,         // handle to menu
  UINT uFlags,         // menu-item options
  UINT_PTR uIDNewItem, // identifier, menu, or submenu
  LPCTSTR lpNewItem    // menu-item content
  );

插入选项

BOOL InsertMenu(  
  HMENU hMenu,          // handle to menu
  UINT uPosition,       // item that new item precedes
  UINT uFlags,          // options
  UINT_PTR uIDNewItem,  // identifier, menu, or submenu
  LPCTSTR lpNewItem     // menu item content
  );

删除选项

BOOL DeleteMenu(  
  HMENU hMenu,     // handle to menu
  UINT uPosition,  // menu item identifier or position
  UINT uFlags      // option
  );

修改选项

BOOL ModifyMenu(  
  HMENU hMnu,           // handle to menu
  UINT uPosition,       // menu item to modify  UINT uFlags,          // options
  UINT_PTR uIDNewItem,  // identifier, menu, or submenu
  LPCTSTR lpNewItem     // menu item content
  );

创建菜单的步骤

  • 1、单击插入下拉菜单的资源选项
  • 2、双击Menu选项
  • 3、双击菜单项虚框
  • 4、在菜单项属性对话框中输入该项的标题
  • 5、在对话框中输入选项的标识(ID)、标题以及菜单属性
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值