我没有一个CMyView派生自CView,该如何添加
时间: 2024-10-03 13:04:35 浏览: 5
在MFC中创建一个新的视图类并让它派生自`CView`通常是在资源编辑器(Resource Editor)里完成的。以下是步骤:
1. **打开资源编辑器**:在Visual Studio中,右键点击解决方案资源管理器下的`YourProjectName` -> 打开资源编辑器("Resource View")。
2. **添加新视图**:在资源编辑器底部的工具栏中找到"插入"区域,选择"添加" -> "用户控件"(或者"视图",取决于项目的结构)。双击弹出的模板选择框,可以选择"对话框"(`.RC`)文件或"视图"(`.RCV`)文件。
3. **设计视图**:在新的对话框或视图资源中,你会看到一个空白区域。你可以选择"添加控件",如绘图或其他图形元素,以形成视图的基本框架。
4. **派生CMyView**:在生成的`资源.h`或`resource.rc`文件中,你会看到类似`IDR MyClassView`的标识符。右键单击它,在弹出的菜单中选择"属性"。在属性窗口中,找到`类`字段,输入`CMyView`作为它的派生类。确保`风格`也适合你的需求,比如`WS_CHILD | WS_VISIBLE`。
5. **连接视图到窗口**:在`对话框资源`(`.RC`)或`视图资源`(`.RCV`)中,找到与新视图关联的窗口类(通常是`IDD_YOUR_DIALOG_NAME`或`IDD_YOUR_VIEW_NAME`),在窗口的`view`属性中引用你刚创建的视图,比如`IDD_MYVIEW`.
6. **编写代码**:回到源代码中,按照上述的`CMyView`的代码示例,添加对应的成员变量和消息处理函数。记得包括`#include "afxcmn.h"`,因为`CView`是MFC的一部分。
一旦完成以上步骤,你就可以在程序中创建`CMyView`的对象并将其添加到窗口上了。
如果你已经有现成的设计,也可以直接在代码中创建视图,然后在窗体加载时添加:
```cpp
CMyView* pMyView = new CMyView(this); // 将this替换为你窗体的指针
DockControl(pDX, IDC_MYVIEW); // IDC_MYVIEW是你在资源编辑器中分配给视图的控件ID
```