社区
下载资源悬赏专区
帖子详情
VC仿QQ游戏大厅的树型展开菜单控件下载
weixin_39821746
2020-03-15 03:30:14
VC++模仿的QQ游戏大厅左侧的树型菜单导航控件,个人感觉在现代的软件开发中,一些常规的控件已不能满足我们的使用,最近项目需要实现一个类似QQ游戏大厅那种效果的树型导航菜单,可以展开和折叠,参考了网络上的部分资料,自己动手写了一个类CTreeCtrlBT,希望和各位高手交流。
相关下载链接:
//download.csdn.net/download/wiseboyiam/1600525?utm_source=bbsseo
...全文
7
回复
打赏
收藏
VC仿QQ游戏大厅的树型展开菜单控件下载
VC++模仿的QQ游戏大厅左侧的树型菜单导航控件,个人感觉在现代的软件开发中,一些常规的控件已不能满足我们的使用,最近项目需要实现一个类似QQ游戏大厅那种效果的树型导航菜单,可以展开和折叠,参考了网络上的部分资料,自己动手写了一个类CTreeCtrlBT,希望和各位高手交流。 相关下载链接://download.csdn.net/download/wiseboyiam/1600525?utm_source=bbsseo
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
VC
仿
QQ
游戏
大厅
的
树型
展开
菜单
控件
VC
仿
QQ
游戏
大厅
的
树型
展开
菜单
控件
dddddddddddddddddddddddddddddddddd
VC
仿
QQ
游戏
大厅
的
树型
展开
菜单
控件
.7z
VC
仿
QQ
游戏
大厅
的
树型
展开
菜单
控件
.7z
SpringBoot项目实战+SpringCoud
本套课程主要是一系列Java项目课程,通过... Vue
树型
控件
SpringCloud课程包含微服务开发的主要组件: 1. Eureka注册中心 2. Config配置中心 3. Zuul服务网关 4. Hystrix熔断器和Ribbon负载均衡 5.OpenFeign服务调用
archive_
VC
仿
QQ
游戏
大厅
的
树型
展开
菜单
控件
.zip.zip
archive_
VC
仿
QQ
游戏
大厅
的
树型
展开
菜单
控件
.zip.zip
VC
类似
QQ
游戏
大厅
导航的
树型
控件
第一步:新建一个基于对话框的MFC工程,拖动一棵标准
树型
控件
放于界面之上。添加一个新类CTreeCtrlBT派生自CTreeCtrl。 第二步:为该类添加一些消息响应以及虚函数。其详细作用如下: void PreSubclassWindow(); //用于添加初始化
控件
的相关信息 WM_SIZE //
控件
区域发生变化时候的处理 WM_PAINT //绘制
控件
WM_MOUSEMOVE //主要获取鼠标所在位置的单元项 第三步:TreeCtrlBT.h中首先声明一个结构用于保存单元项的相关信息,并把所有项的信息放入一个map。实现代码如下: typedef struct tagItemMsg { HTREEITEM hItem; //项的句柄 CBitmap ItemBitmap; //项的位图 COLORREF crTransparent; //透明颜色 tagItemMsg() { hItem = NULL; crTransparent = RGB(255,255,255); } ~tagItemMsg() { if ( ItemBitmap.GetSafeHandle() ) { ItemBitmap.DeleteObject(); } } }ITEM_MSG; typedef map ITEMMSG_MAP; 第四步:计算
控件
的客户区域大小,以及滚动条滚动的偏移量。详细过程参考源代码 Calculate函数。 第五步:添加接口函数以及成员变量。如下: (注意:TransparentBlt函数,需要包含msimg32.dll) //设置背景位图BOOL SetBackgroudBitmap( UINT nID );BOOL SetBackgroudBitmap(LPCTSTR lpszRecourceName);//设置某一项位图void SetItemBitmap(HTREEITEM hItem, UINT nIdBitmap);void SetItemBitmap(HTREEITEM hItem, LPCTSTR lpszBitmap);//设置
展开
收缩的图表void SetExpandBitmap(UINT nIdExpand, UINT nIdCollapse, COLORREF crTransparent = RGB(255,255,255));//插入新的项目HTREEITEM InsertItemEx(HTREEITEM hParent, LPCTSTR lpszItem, UINT nIdBitmap = 0, OLORREF crTransparent = RGB(255,255,255));HTREEITEM InsertItemEx(HTREEITEM hParent, LPCTSTR lpszItem, LPCTSTR lpszBitmap, COLORREF crTransparent = RGB(255,255,255));//开启横线void EnableRowLine( BOOL bEnable = TRUE );//是否开启横线BOOL IsEnableRowLine();//开启根节点背景void EnableRootBk( BOOL bEnable = TRUE );//是否开启根节点背景BOOL IsEnableRootBk();//获取某一项信息ITEM_MSG* GetItemMsg(HTREEITEM hItem); 第六步:绘制
控件
。需要的绘制函数如下: //绘制渐变色矩形区域void GradientFillRect( CDC *pDC, CRect &rect, COLORREF col_from, COLORREF col_to, bool vert_grad ); //绘制
控件
背景void DrawBackgroudBitmap(CDC* pDc); //绘制单元项void DrawItem( CDC* pDC ); //绘制单元项下部横线void DrawRowLine(CPoint ptBegin, CPoint ptEnd, CDC *pDc = NULL); //绘制
展开
收缩按钮void DrawExpand(CRect rect, int state,
下载资源悬赏专区
12,790
社区成员
12,324,159
社区内容
发帖
与我相关
我的任务
下载资源悬赏专区
CSDN 下载资源悬赏专区
复制链接
扫一扫
分享
社区描述
CSDN 下载资源悬赏专区
其他
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章