CScrollView用法

本文介绍了如何将CView类转换为CScrollView类,并提供了具体的代码修改示例。文章详细解释了如何通过修改类定义、消息映射及实现初始化更新来启用滚动条功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 这个小问题,弄了一小天,真是。。。

CScrollView这个类用于需要滚动条的场合。我们可以直接用向导生成,在选择视图类的基类时选择CScrollView即可。

如果我们的程序原来用的是CView类,此时想改成CScrollView类,需要稍微做一下修改。

利用ClassWizard,在View類別中,建立OnInitialUpdate( ) member function

void View::OnInitialUpdate()
{
CScrollView::OnInitialUpdate();

SetScrollSizes(MM_TEXT, CSize( 800, 600 ) );
}

在View.cpp中修改:
//IMPLEMENT_DYNCREATE(CView,   CView)//原来的
IMPLEMENT_DYNCREATE(CView,   CScrollView)     //修改后的

//BEGIN_MESSAGE_MAP(CView,   CView)   //原来的
BEGIN_MESSAGE_MAP(CView,   CScrollView)//修改后的
//{{AFX_MSG_MAP(CTest2View)
//   NOTE   -   the   ClassWizard   will   add   and   remove   mapping   macros   here.
//         DO   NOT   EDIT   what   you   see   in   these   blocks   of   generated   code!
//}}AFX_MSG_MAP
END_MESSAGE_MAP()



在中View.h中修改:
//class   CTest2View   :   public   CView     //原来的
class   CTest2View   :   public   CScrollView     //改后的
{
。。。
}

SetScrollSizes是用来改变滚动条范围的,而不是改变窗口大小。改变窗口大小用MoveWindow
 


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值