您的位置:逆风者 VC++ 正文
 添加时间:2007-09-17 原文发表:2007-09-17 人气:457 来源:VCKBASE

本文章共3680字,分3页,当前第1页,快速翻页:
 
――完美类WindowXp 开始菜单(CYisongStartMenu) 编程指南

作者:朱一松

下载源代码

逆风编程精品

类WindowXp 开始菜单到现在基本上是完美实现,在功能上基本和WindowXp 与Vista 操作系统的开始菜单一样,界面当然漂亮,通过编程能实现风格多样,具有个性化的功能菜单。为了方便使用,本人对其进行了封装,库名曰:完美类WindowXp 开始菜单。
1、完美类WindowXp 开始菜单(CYisongStartMenu)有如下主要特点:
   a. 在C++环境实现,界面风格可实现自定义;
   b. 不仅适用Mouse 操作,还支持响应方向按键,快捷键功能;
   c. 可增加和删除菜单中的子项;
   d. 可显示Left Bar 并定义其风格;
   e. 可自定义焦点亮条的风格;
   f. 可设置菜单子项为Check Option 风格
2、完美类WindowXp 开始菜单的用途:
   a. 可实现WindwXp 的两种菜单,经典菜单和分组菜单,非常适在大型应软件。象QQ 的 主菜单就是其中之一的分组菜单
   b. 托盘菜单、右键快捷菜单等应用。

一、编程指南
1.文件说明
类文件:YisongStartMenu.dll YisongStartMenu .lib (开始菜单库)
其它文件:MyStartMenuLib.h,MyStartMenu.h ,CmyToolTipCtrl.h
2.CYisongStartMenu 用法
   a. 先把上述文件拷贝到工程目录下
   b. #include MyStartMenuLib.h ,只要把MyStartMenuLib.h 文件包括到工程文件中就OK
   c. 定义一变量:CYisongStartMenu m_StartMenu;
   d. 在.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);
// m_wndSubMenu 为“所有程序”菜单项的下拉子菜单
//实现菜单项的添加(分组菜单右边的菜单子项的添加)
//和上面方法一样,只不过是用函数AppendProgItem()
m_StartMenu. AppendPlaceItem(_T("My Documents"),
ID_PLACELIST_MYDOCUMENT,0,MENU_DEFAULT,
IDI_ICON_MYDOCUMENT);
…..
m_StartMenu. AppendPlaceItem(….);
//设置菜单子项文本颜色, PLACELIST_TYPE 指Place List 子项颜色
//PROGLIST_TYPE指Prog List(左边列表)子项颜色
m_StartMenu.SetItemTextColor(PLACELIST_TYPE,RGB(0,255,0));
//设置子项有焦点时,其显示的亮条图形,不设置亮条为蓝色
m_StartMenu.SetItemFoucsBitmap(PLACELIST_TYPE,".\\skin\\OverFoucs.bmp")
 
本文章更多内容1 - 2 - 3 - 下一页>>
相关文章

BMP图象解析
VC实用小知识总结 (二)
VC实用小知识总结 (一)
超强仿QQ自动伸缩窗口
WIN32程序挂钩SetLastError,输出错误描述到
Spy++原理初探
汉诺塔游戏的设计
关于控件注册和使用许可问题的解决办法
基于MFC对话框的NT服务程序框架
计算MDI子窗口数,仅显示文件夹的打开对话框
MFC中基于对话框程序快捷键的实现
用递归的方法画分形图
利用IJG JPEG Library压缩图像为jpg格式
软件框架的利器、TangramMini组件应用教程六
让你的软件界面更漂亮(六)-- 仿QQ主界面之L
对OpenCV中的平面划分相关函数使用探索
探讨性能测试中的计时问题
用命令模式实现对象存储——对象与关系数据
DynamicLayout-VC 6.0对话框动态布局解决方
文件过滤系统驱动开发Filemon学习笔记

相关评论


本文章所属分类:首页 VC++

  热门关键字: