DirectUI 音乐播放器 【源代码发布(高仿QQ电脑管家8 界面优化而来)】

geniusice18 2015-05-12 08:36:38
加精
本代码是之前发的高仿QQ电脑管家8 界面修改优化而来,还是有用到的控件能保证正常使用,没用到的控件不保证能正常使用

主要修改了内容泄漏,控件的组合方式,贴图方式,整体性能有所提高,先看下效果图吧


更多图片和源代码下载看博客:IceMusic 音乐播放器 MFC + DirectUI 开发
播放器还存在一些问题在这:DirectUI 音乐播放器问题,如果知道怎么解决的可以加群368280863讨论
...全文
4464 47 打赏 收藏 转发到动态 举报
写回复
用AI写文章
47 条回复
切换为时间正序
请发表友善的回复…
发表回复
alei888888 2016-01-15
  • 打赏
  • 举报
回复
下载出来看看,嘿嘿
祸起蛋炒饭 2015-07-21
  • 打赏
  • 举报
回复
楼主好厉害
llive88 2015-07-07
  • 打赏
  • 举报
回复
Tab控件使用为什么不行
turbo_casey 2015-06-18
  • 打赏
  • 举报
回复
碉堡了!!!!!!!!!!!!!!!!!
geniusice18 2015-06-12
  • 打赏
  • 举报
回复
引用 45 楼 beiyiwangdeshen 的回复:
楼主很牛mfc自绘都能做出derictui的效果。 想请教个问题,用mfc自绘,怎么样让你播放器上的北京图图片定时切换?
加个定时器,定时调用更换图片的就行了
beiyiwangdeshen 2015-05-31
  • 打赏
  • 举报
回复
楼主很牛mfc自绘都能做出derictui的效果。 想请教个问题,用mfc自绘,怎么样让你播放器上的北京图图片定时切换?
gergul 2015-05-29
  • 打赏
  • 举报
回复
引用 38 楼 bug1190 的回复:
源码看了,问几个问题: 1、在画的时候是调用了GetUpdateRect,但是几乎是把所有的背景和控件全部都再画了一遍,这样脏矩形技术是不是没有一点意义了,既然是全部都画一遍的话,那就直接画呗,这跟你在设计之初没有加入Z序的概念有关系的吧,无论是别人的DUI还 是MS的窗口,Z序的概念肯定不能轻易拿掉的。 2、你是在主窗口中留了一个当前控件的指针进行消息的派发的,就是遍历所有的控件指针,判断鼠标消息在谁的区域 内就调用谁的消息处理函数进行处理,你是用的VECTOR存的,遍历的话如果控件多,不是有效率的问题吗,最好能用哈希散列的方法,这一块我也正在找方法,将区域和该区域的绘制指针做为字典的方式存起来,就不用遍历法去取指针了。 3、滚动技术用的不错,相信你也是精通SCROLLVIEW技术的大牛,这个跟我是一样滴, 现在精通MFC的人越来越少了,很少见
对于你上述的第2点问题可以使用RTree解决。http://www.codeproject.com/Tips/849232/R-tree-Space-Search-Algorithm
gergul 2015-05-29
  • 打赏
  • 举报
回复
给力,谢谢楼主分享 。
geniusice18 2015-05-27
  • 打赏
  • 举报
回复
引用 39 楼 bug1190 的回复:
你的Edit功能没有实现吧,我怎么没看到你处理WM_CHAR消息,
没有,EDIT要重绘有难度就一直没做
geniusice18 2015-05-27
  • 打赏
  • 举报
回复
引用 38 楼 bug1190 的回复:
源码看了,问几个问题: 1、在画的时候是调用了GetUpdateRect,但是几乎是把所有的背景和控件全部都再画了一遍,这样脏矩形技术是不是没有一点意义了,既然是全部都画一遍的话,那就直接画呗,这跟你在设计之初没有加入Z序的概念有关系的吧,无论是别人的DUI还 是MS的窗口,Z序的概念肯定不能轻易拿掉的。 2、你是在主窗口中留了一个当前控件的指针进行消息的派发的,就是遍历所有的控件指针,判断鼠标消息在谁的区域 内就调用谁的消息处理函数进行处理,你是用的VECTOR存的,遍历的话如果控件多,不是有效率的问题吗,最好能用哈希散列的方法,这一块我也正在找方法,将区域和该区域的绘制指针做为字典的方式存起来,就不用遍历法去取指针了。 3、滚动技术用的不错,相信你也是精通SCROLLVIEW技术的大牛,这个跟我是一样滴, 现在精通MFC的人越来越少了,很少见
1.实际重绘区域是按照GetUpdateRect来的,只是所有和这个有交集的控件的交集区域才会被重绘 2.用Vector是有层次的先加入的在底层,控件一般也不会多,几百个应该没什么影响吧
  • 打赏
  • 举报
回复
接分,走人
huanglin03 2015-05-25
  • 打赏
  • 举报
回复
你的Edit功能没有实现吧,我怎么没看到你处理WM_CHAR消息,
huanglin03 2015-05-25
  • 打赏
  • 举报
回复
源码看了,问几个问题: 1、在画的时候是调用了GetUpdateRect,但是几乎是把所有的背景和控件全部都再画了一遍,这样脏矩形技术是不是没有一点意义了,既然是全部都画一遍的话,那就直接画呗,这跟你在设计之初没有加入Z序的概念有关系的吧,无论是别人的DUI还 是MS的窗口,Z序的概念肯定不能轻易拿掉的。 2、你是在主窗口中留了一个当前控件的指针进行消息的派发的,就是遍历所有的控件指针,判断鼠标消息在谁的区域 内就调用谁的消息处理函数进行处理,你是用的VECTOR存的,遍历的话如果控件多,不是有效率的问题吗,最好能用哈希散列的方法,这一块我也正在找方法,将区域和该区域的绘制指针做为字典的方式存起来,就不用遍历法去取指针了。 3、滚动技术用的不错,相信你也是精通SCROLLVIEW技术的大牛,这个跟我是一样滴, 现在精通MFC的人越来越少了,很少见
广西鼓于晏 2015-05-25
  • 打赏
  • 举报
回复
很不错的一个实例。。。。。。。。。。。
nettman 2015-05-23
  • 打赏
  • 举报
回复
感谢楼主分享
jclllllll 2015-05-21
  • 打赏
  • 举报
回复
怎么看源码?
d1438138 2015-05-21
  • 打赏
  • 举报
回复
之前我也用mfc做了一个,不过listbox自绘代码是找的因为不会,其他的贴图没什么问题,感觉mfc要出漂亮的界面少不了自绘— —,为什么不用更好的框架呢,我是只接触了mfc……
王家元 2015-05-21
  • 打赏
  • 举报
回复
代码没看先回一下贴,电脑管家看了一下是几年前的贴子,现在应该增进不少。
cattpon 2015-05-21
  • 打赏
  • 举报
回复
谢谢分享~~
line_us 2015-05-20
  • 打赏
  • 举报
回复
支持分享编码成果。
加载更多回复(27)

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧