滑动条:
来源:互联网 发布:海拉尔二中分尸案 知乎 编辑:程序博客网 时间:2024/06/11 06:40
1. GetScrollBarCtrl
The CWnd implementation of this function simply returns NULL. Derived classes, such as CView, implement the described functionality.
在cwnd中是null,在view中才会有值
但可以直接用滑动条的函数,比如
GetScrollPos
http://blog.163.com/lvan100@yeah/blog/static/6811721420101176353748/可参见
2. 可以在nc_paint中重绘
/////////////////////////////////////////////
如果你试过用GetScrollBarCtrl()函数去获取对话框内自动的滚动条控件,那么你绝对是不能成功的。为什么呢?
MSDN 这样解释:
The CWnd implementation of this function simply returns NULL. (这个函数对于CWnd类只是简单的返回一个NULL值。)
Derived classes, such as CView, implement the described functionality.(除了一些如CView的类,才会实行函数声明的功能。)
呵呵!知道了吧。但是我们怎么操纵这样的滚动条呢?回答:直接操纵!即把对话框当做一个滚动条对象就ok了。
如下列代码:
BOOL C***Ctrl::OnInitDialog(){ CDialogEx::OnInitDialog(); SCROLLINFO sbinfo; sbinfo.fMask = SIF_ALL; sbinfo.nMax = 100; sbinfo.nMin = 0; sbinfo.nPage = 90; sbinfo.nPos = 0; SetScrollInfo(SB_VERT,&sbinfo,TRUE); return TRUE;
}
BOOL C***Ctrl::OnMouseWheel(UINT nFlags, short zDelta, CPoint pt){ // TODO: 在此添加消息处理程序代码和/或调用默认值 int nflag = zDelta>0?1:-1; int nCurpos,nMin,nMax,nThumbWidth; SCROLLINFO siInfo; GetScrollInfo(SB_VERT,&siInfo); nCurpos = siInfo.nPos; nMin = siInfo.nMin; nMax = siInfo.nMax; nThumbWidth = siInfo.nPage; SetScrollPos(SB_VERT,nCurpos - nflag); int nScroll = nflag * 11; if (nCurpos+nThumbWidth < nMax && nCurpos !=0) ScrollWindow(0,nScroll); return CDialogEx::OnMouseWheel(nFlags, zDelta, pt);}
说实话,我也是写这篇文章的时候才真正读懂上面的两句引文。唉!
- 滑动条
- 滑动条:
- 滑动条
- 滑动条
- 滑动条
- 滑动条
- 滑动条和进程条
- 滑动条的使用
- JavaScript 滑动条效果
- Slider 滑动条效果
- swing滑动条
- TextView滑动条设定
- CCControlSlider 滑动条
- 滑动门导航条
- Android 滑动条DEMO
- CCControlSlider 滑动条
- cocos2dx滑动条实现
- Class04 添加滑动条
- .Net 4.5中的HttpClient试用
- 达芬奇数字媒体片上系统的架构和 Linux 启动过程
- Linux Notification chain学习
- Java时间日期格式转换 格式化后的日期解析成时间戳
- hdu 4197 Popping Balloons
- 滑动条:
- 关于修改虚拟机内存,和开启“硬件加速
- Android AVD创建及设置中各参数详解
- js字符串转化为数字 详解(转载)
- QUERY_REWRITE_ INTEGRITY的设置
- 在规定时间内清理备份目录下文件
- Java文件路径名
- 使用超酷的jQuery缩略图生成插件NailThumb制作漂亮的缩略图web应用
- delphi 中获取计算机名和IP