类WindowXp (CYisongStartMenu)开始菜单 编程指南[VC]
□ 深圳远客 (song_0962@sina.com)
本菜单实现环境为VC6.0,其功能基本上和WindowXp 和Vista 操作系统的开始菜单一样,界面非常精美,通过编程还能实现风格多样,具有个性化的功能菜单。
1.文件说明
类文件:MyStartMenu.h 、MyStartMenu.cpp (CyisongStartMenu 开始菜单类)
MyToolTipCtrl.h, MyToolTipCtrl.cpp(CmyToolTipCtrl 提示消息类)
其它文件:结构常量定义文件
2.CYisongStartMenu 用法
- 定义一变量:CYisongStartMenu m_StartMenu;
- 在.cpp文件中现实代码
//主菜单初始化过程
_TextInfo textInfo; /定义主菜顶部文本信息结构
m_StartMenu.GetUserPaneTextInfo(textInfo);//获取文本信息的初始属性
textInfo.clrShadow = GetSysColor(COLOR_BTNSHADOW);//设文本信息的主要属性
textInfo.nOffsetX = 1;
textInfo.nOffsetY = 1;
textInfo.logFontUserText.lfItalic = TRUE;
m_StartMenu.SetUserPaneTextInfo(textInfo); //使设置有效
m_StartMenu.SetUserPaneText(_T("WindowXp Menu")); //设置主菜顶部标题
m_StartMenu.SetUserPaneIcon(IDI_ICON_QQ,CSize(48,48)); //设置主菜顶部显示图标
//设置主菜顶部显示图形
m_StartMenu.GetUserBitmap(0,".//skin//1.bmp");
m_StartMenu.GetUserBitmap(1,".//skin//2.bmp");
m_StartMenu.GetUserBitmap(2,".//skin//3.bmp");
//实现菜单菜项的添加(左边主程序项的添加)
m_StartMenu.AppendProgItem(_T("Internet/nInternet Explorer"), ID_PROGLIST_IE,0,
MENU_DEFAULT,IDI_ICON_IE,NULL,_T("联接国际互际联网页"));
m_StartMenu.AppendProgItem(….)
….
m_StartMenu.AppendProgItem(_T("所有程序"),IDR_MENU_TEST,0,
MENU_BOTTOM|MENU_POPUP,0,NULL,NULL,&m_wndSubMenu);
//实现菜单菜项的添加(