漂亮界面的软件应该有漂亮的菜单,大家对 Windows XP 的开始菜单肯定不陌生吧,那种菜单独具风格。于是去研究了一下,发现其实它并不是真CMenu也不是其派生类,分析其结构发现其主要是两个 ListView、一个ToolBar、一个 Button 组成的。于是也写了个菜单类,但我并没有用 ListView 去实现,虽然不敢和 Windows XP相比,但我认为其是一种有个性的菜单,拿出和大家分享! 希望大家能写出有创新和自主产权的菜单。哈哈……。当然要先眼见为实如下图。
一、 实现原理
用 CWnd 和 CButton 来实现。主要的类文件为 Cyisong Menu.cpp CyisongMenu.h。
二、菜单使用方法说明
类 public 变量定义:
CYisongMenu m_GroupMenu;
CYisongMenu m_SubGroupMenu;//子菜单
设置头像和添加菜单项:
m_GroupMenu.SetMenuHeader("我的主菜单",IDI_QQ, TRUE );
m_GroupMenu.AppendMenuItem("退出系统",
IDC_SUBITEM, //菜单ID
IDI_ICON1, // 图标
NULL, //子菜单指针
MENU_NORMAL|MENU_FONTBOLD//风格参数
);
m_GroupMenu.AppendMenuItem("功能菜单2",
IDC_SUBITEM+1,
IDI_ICON2,
NULL,
MENU_NORMAL );
继续用 AppendMenuItem 添加菜单项,
完成创建
m_GroupMenu.CreateGroupMenu(this,CRect(0,0,150,300),IDC_MENU,1,1);
至此基本完成创建工作,如果还要创建创子菜单用,请回到a处。