- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
高级WIN32件丰富界面
使用高级WIN32控件丰富界面 本章主要知识点: 窗体的菜单应用 窗体的工具栏的使用 窗体的状态栏的使用 窗体菜单使用案例 窗体菜单使用案例 1、菜单资源的添加:在ResourcView卡中选择操作插入资源—MENU 2、菜单资源的编辑如同一般菜单的编辑方式样 3、与菜单有关的结构体类型:MENUITEMINFO typedef struct tagMENUITEMINFO { UINT cbSize; //??结构的大小,字节 UINT fMask;//重新获取或设置成员 UINT fType; //菜单项类型 UINT fState; //菜单项的状态. UINT wID; //应用程序定义16位的值来识别那个菜单项 HMENU hSubMenu; //下拉菜单或相关联的子菜单的菜单项的句柄 HBITMAP hbmpChecked; //如果条目被选中,这个显示项是位图的句柄 HBITMAP hbmpUnchecked; DWORD dwItemData; //应用程序定义的菜单项相关联的值 LPTSTR dwTypeData; //菜单项的内容 UINT cch; //菜单项文本的长度息 } MENUITEMINFO, FAR *LPMENUITEMINFO; fMask 重新获取或设置成员,这个成员可以使用一个或多个这些值 MIIM_CHECKMARKS 重新获取或设置hbmpChecked和hbmpUnchecked成员 MIIM_DATA 重新获取或设置dwItemData成员 MIIM_ID 重新获取或设置wID成员 MIIM_STATE 重新获取或设置fState成员 MIIM_SUBMENU 重新获取或设置hSubMenu成员 MIIM_TYPE 重新获取或设置fType和dwTypeData成员 fState 菜单项的状态.这个成员可以是一个或多个的这些值: MFS_CHECKED 复选的菜单项.至于更多关于菜单项选中的信息,看hbmpChecked成员. MFS_DEFAULT 指定那个是默认的菜单项。一个菜单仅仅只可以包含一个默认的菜单项,粗体显示那个。 MFS_DISABLED 禁止菜单项所以它不能被选择.但是不使它变灰. MFS_ENABLED 激活菜单项所以它可以被选择。这是默认的状态. MFS_GRAYED 禁止菜单项和变灰它,所以它不可以被选择. MFS_HILITE 加亮菜单项 MFS_UNCHECKED 取消复选菜单项.至于更多关于菜单项unchecked信息,看hbmpUnchecked成员变量 MFS_UNHILITE 移除来自菜单项的加亮区.这是默认状态. 4、菜单中相关的成员函数的使用 菜单的使用过程:1、添加菜单资源2、定义菜单句柄 HMENU3、加载菜单资源4、设置窗体菜单 加载菜单LoadMenu HMENU LoadMenu(HINSTANCE hlnstance,LPCTSTR lpMenuName); hlnstance:含有被加载菜单资源的事例模块的句柄。 LpMenuName:指向含有菜单资源名的以空结束的字符串的指针。 返回值:如果函数调用成功,返回值是菜单资源句柄;如果函数调用失败,返回值是NULL。 设置窗体菜单SetMenu BOOL SetMenu(HWND hWnd,HMENU hMenu); ?hWnd:菜单被分配到其中的窗口的句柄。 hMenu:新菜单的句柄。如果菜单参数为NULL,则窗口的当前菜单被删除。CMenu::GetMenuItemInfoBOOL GetMenuItemInfo(UINT nIDItem, LPMENUITEMINFO lpMenuItemInfo, BOOL ByPos=FALSE)nIDItem 要获取信息菜单项的标识符或位置。 lpMenuItemInfo 指向MENUITEMINFO结构的指针,如联机文档“平台SDK”中所述,它包含了菜单的有关信息。 ByPos 该值指定了nIDItem的意义。缺省情况下,ByPos是FALSE,它指定uItem为菜单项标识符。若ByPos没有设置为FALSE,那么它标识了菜单项的位置。 弹出式菜单使用实例 弹出式菜单和普通窗体菜单的加载和属性设置的方法完全相同 在窗体上右击鼠标,通常可引发“WM_CONTEX
文档评论(0)