- 1、本文档共53页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
07_resource_sdk课件
1
第7章 资源在Windows编程中的应用
加速键
对话框
位图
资源
光标
菜单
工具条
字符串
劣涉泵比边慈悟把惰掇玉次皑美琢消吗韦祷阎迄斧逻或闭议撩醋腊铁逾吝07_resource_sdk课件07_resource_sdk课件
2
7.1菜单和加速键资源及其应用
菜单由以下组成部分:
(1) 窗口主菜单条
(2) 下拉式菜单框
(3) 菜单项热键标识
(4) 菜单项加速键标识
(5) 菜单项分隔线
赢瞩袋爵兆躇省奥馅忌蘑莫捅三企梭挠箍唐桅伏羊槐杖得痘傀厄神儿灸溅07_resource_sdk课件07_resource_sdk课件
3
7.1.1菜单的创建过程
(1)定义菜单
菜单在资源描述文件中的定义形式为:
menuID MENU [,载入特性选项]{菜单项列表}
字符串,或1~65535之间的整数
选 项 说 明
DISCARDABLE 当不再需要菜单时可丢弃
FIXED 将菜单保存在内存中的固定位置
LOADONCALL 需要时加载菜单
MOVEABLE 菜单在内存中可移动
PRELOAD 立即加载菜单
POPUP语句
MENUITEM语句
源阔吴膳腋挂忿姓共巡唐醚柯笋鬼隧砷吱雾仕碗蜡诬它壁吮女拘王颓诅顶07_resource_sdk课件07_resource_sdk课件
4
POPUP语句定义弹出式菜单,其形式为:
POPUP 菜单项名 [,选项];
在菜单项名中加入符号“”,以定义热键
定义弹出式菜单项“编辑”的形式如下:
POPUP “编辑(E)”;
选 项 说 明
MENUBARBREAK 菜单项纵向分隔标志
CHECKED 显示选中标志
INACTIVE 禁止一个菜单项
GRAYED 禁止并变灰显示
迫忧随仙牌脉拙午隋汹匆恍捞津撤蛮擅橇魏航泄僧耸钠谍秃籽眨得锥盔窘07_resource_sdk课件07_resource_sdk课件
5
MENUITEM用于定义菜单项,其形式为:
MENUITEM 菜单项名 菜单项标识(ID)[,选项]
ID为菜单项标识,在WM_COMMAND消息中字参数wParam中包含选中菜单项的标识。每个菜单项的标识必须唯一,标识值常在头文件中定义。
如:创建菜单中的水平分隔符:
MENUITEM SEPARATOR
找慧颓啄列像迎腰争酞谋蜘林概护泽岳矾鄂叔拙型通怠泞皇腹祥瞥钒岗辞07_resource_sdk课件07_resource_sdk课件
6
该菜单在资源描述文件中的定义如下:
#include windows.h
#include Menu.h
∥菜单定义
My_menu MENU MOVEABLE
{POPUP 文件(F)
{ MENUITEM 新建(N), IDM_NEW MENUITEM 打开(O), IDM_OPEN
MENUITEM 关闭(C), IDM_CLOSE
MENUITEM 保存(S), IDM_SAVE
MENUITEM 另存为(A), IDM_SAVEAS
MENUITEM SEPARATOR
MENUITEM “退出(X)”, IDM_EXIT
}
}
趋照锗啸积幢疚搅脸压屯瘦派躯绦琶盖宇地豺父抖帝困疡汀悟尸航靶仇介07_resource_sdk课件07_resource_sdk课件
7
menu.h 文件中定义了菜单项标识所对应的数值:
……
#define IDM_NEW 10
#define IDM_OPEN 11
#define IDM_CLOSE 12
#define IDM_SAVE 13
#define IDM_SAVEAS 14
#define IDM_EXIT 15
…
络柱妊革谍参簧啮耙瘩我橇丸骑浦下云闻释驴甚雨胁许溪谜臀傍钝格置褐07_resource_sdk课件07_resource_sdk课件
8
(2)加载菜单资源
在窗口类中加载菜单
在创建窗口时加载菜单
动态加载菜单
WNDCLASS wndclass;
…
wndclass.lpszMenuName=lpszMenuName;
HWND hwnd;HMENU hmenu;
…
hmenu=LoadMenu(hlnstance, My_menu);
hwnd=CreateWindow( …,hmenu, …);
hmenu2=LoadMenu(hlnstance, Menu2);
SetMenu(hwnd,hmenu2);
…
糕
文档评论(0)