我想实现像系统自带播放器window Media player的滑动条..控件的自绘我已经知道怎么绘制了..就是我想实现当Thumb(滑动块)移动一定的位置的时候,前面Thumb(滑动块)经过的部分会用别的颜色来显示.(像暴风那些播放器一样)...还有就是,我想问下,当我用鼠标点中(Channel)滑动条当中的任意一个地方的时候..(Thumb)滑动块不会到鼠标点击的地方..我曾经想过重新继承CSliderCtrl类,在新类中添加鼠标左键的消息,然后在响应函数中添加如下代码:
CRect rcChannel;
GetChannelRect(rcChannel);
int nMaxRg,nMinRg;
GetRange(nMinRg,nMaxRg);
int nSliderPos = ((point.x-rcChannel.left)/rcChannel.Width())*(nMaxRg-nMinRg); //用nSliderPos记录鼠标的位置
SetPos(nSliderPos); //将Thumb(滑动块)移动鼠标的位置
我用了以上的方法,但是,(Thumb)滑动块没有滑动nSliderPos的位置上..不知道为什么..是不是要用到SetPageSize()这个函数,要用的话,要怎么用呢??谢谢...
CRect rcChannel;
GetChannelRect(rcChannel);
int nMaxRg,nMinRg;
GetRange(nMinRg,nMaxRg);
int nSliderPos = ((point.x-rcChannel.left)/rcChannel.Width())*(nMaxRg-nMinRg); //用nSliderPos记录鼠标的位置
SetPos(nSliderPos); //将Thumb(滑动块)移动鼠标的位置
我用了以上的方法,但是,(Thumb)滑动块没有滑动nSliderPos的位置上..不知道为什么..是不是要用到SetPageSize()这个函数,要用的话,要怎么用呢??谢谢...
解决方案 »
- 谁看了《深入解析windows操作系统》第五版
- 如何实现带过滤功能的List控件
- 关于模态对话框的问题
- 制作安装包,自动更新,install 的问题! 高手帮忙!
- 如何将dc中的位图数据取出给cbitmap
- 在多网卡、多IP的情况下获得当前使用的那一个
- 请教进程间通信的问题?
- 找人一起看《inside com+ base service》
- 使用ShellExecute开启一个reg(注册表)文件如何把提示信息对话窗屏蔽掉.
- 200分的巨简单问题,怎样检测程序是否有内存泄露,如果有,能把他释放掉吗,如果能,怎样释放?
- 求资料 MMC Snap-in 的开发资料
- Win7环境GDI+显示的图片背景是黑色
这属于正常的
http://download.csdn.net/detail/liang888113/3547055
你调试下看point和rcChannel是不是一个坐标系的