社区
界面
帖子详情
如何重绘在CScrollView中的ScrollBar
xuximail
2009-12-16 09:11:54
RT
...全文
175
4
打赏
收藏
如何重绘在CScrollView中的ScrollBar
RT
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wwgddx
2009-12-16
打赏
举报
回复
首先你要写一个滚动条类, 也可以网上找,很多的,要求就是可以隐藏系统自带滚动条,然后截获滚动条消息,绘制自己的滚动条并显示.
然后需要在scrollviiew中重载,并返回自己定义的滚动条.
CScrollBar* CDI_RptView::GetScrollBarCtrl(int nBar) const
{
return ((CSplitFrame*)GetParent())->GetScrollBar(nBar);//因为需要在父窗口定义,
}
在父窗口定义好自自己写的滚动条对象, 还要做的就是在ONSIZE里根据滚动条的显示与否来改变VIEW的大小空出滚动条的位置18象素.
还有就是在父窗口接收OnHScroll等滚动条消息并发送到VIEW窗口.
不知道这样说明白不?
fandh
2009-12-16
打赏
举报
回复
那就不要用scrollviiew,直接用cview,然后添加scrollbar
不过,要考虑的问题非常多!
xuximail
2009-12-16
打赏
举报
回复
能不能帮我搜搜呢?我不知道怎么搜哦~
xuximail
2009-12-16
打赏
举报
回复
[Quote=引用 2 楼 wwgddx 的回复:]
首先你要写一个滚动条类, 也可以网上找,很多的,要求就是可以隐藏系统自带滚动条,然后截获滚动条消息,绘制自己的滚动条并显示.
然后需要在scrollviiew中重载,并返回自己定义的滚动条.
CScrollBar* CDI_RptView::GetScrollBarCtrl(int nBar) const
{
return ((CSplitFrame*)GetParent())->GetScrollBar(nBar);//因为需要在父窗口定义,
}
在父窗口定义好自自己写的滚动条对象, 还要做的就是在ONSIZE里根据滚动条的显示与否来改变VIEW的大小空出滚动条的位置18象素.
还有就是在父窗口接收OnHScroll等滚动条消息并发送到VIEW窗口.
不知道这样说明白不?
[/Quote]
明白倒是明白 我去查一下
自己实现具体 C
ScrollBar
的基本功能的例子
自己写的一个从CWnd继承的例子,主要实现具有,C
ScrollBar
类似功能, 主要是可以自己重画C
ScrollBar
的背景颜色 .
孙鑫-MFC笔记六--绘图,
重绘
在消息响应函数
中
,首先让窗口无效,下次wm_pain消息发送后,窗口
重绘
。 GetWindRect。得到的是屏幕对应坐标。因此需要转换坐标。用ScreenToClient函数。 UpDateData更新。 改变对话框和空间的...
MFC对话框处理滚动条
//在资源视图
中
看到的对话框的大小 CRect m_rectOriginal; // 鼠标拖拽 BOOL m_bDragging; CPoint m_ptDragPoint; // 滚动条实际位置 int m_nScrollPos; // 对话框实际高度 int m_...
改变MFC对话框背景色、控件内的字体颜色和背景色
函数,在工作框架的子窗口被重画时将调用该成员函数.因此可以重载 WM_CTLCOLOR 消息的响应函数.此函数的原型: afx_msg HBRUSH OnCtlColor(CDC *pDC,CWnd *pWnd,UINT nCtlColor); ...
VC6.0转成VC2008可能出现的问题
9月23日BcgControlbar是个好东西——界面用 解压缩 BCGControlBar.zip (比如,到 c:/bcg 目录
中
) 把 c:/bcg/bin 增加到你的 path 环境变量
中
, 运行 Visual C++ 并且打开 Tools | Options 对话框...
界面
15,980
社区成员
115,900
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章