MFC对话框(Dialog类)中添加客户区(View类)实现绘图

本教程适用于Visual Studio 2005及以上版本,介绍如何在MFC对话框上通过动态创建视图类实现绘图,避免控件限制。步骤包括:1) 在对话框上添加静态文本控件;2) 创建派生自CScrollView的视图类;3) 定义视图类指针,并在OnInitDialog()中创建视图;4) 处理WM_MOUSEACTIVATE和WM_DESTROY等消息。

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

注:本教程适合VisualStudio 2005及以上版本,不适合VC++6.0.

在对话框上画图可以通过添加控件来进行,但这种画图有一个严重弊端就是画图范围受控件范围控制,所以可以通过在对话框上动态创建视图类来达到目的。最终效果就是在对话框中创建一个和单文档窗口客户区有相同功能的区域。

视图窗口如何动态创建方法如下:

1,视图窗口的定位:在对话框上加一个静态文本控件(编辑框控件也可以,大小随意,不要修改任何参数),然后把视图创建在该控件之上。

2,动态创建视图类

1)通过项目|添加类添加一个派生自CSrollView类(CView类的子类)的视图类CModifyView。(IDE主窗口不能是资源编辑器,不然此时只能新建相关资源的类,转换到代码编辑器随便开个文件就可以。)

2)在对话框类的头文件中定义一个CModifyView类指针*m_pModifyView

3)重写对话框类的OnInitDialog()函数。具体方法为在类视图中选中对话框类,在IDE右侧的属性页中点击“重写”(上部的菱形按钮),在下方的列表中点击添加OnInitDialog函数,来创建并重写此虚函数。

4)在OnInitDialog()中添加如下的代码

BOOL CDialogModify::OnInitDial
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值