CMainFrame中添加CView头文件出错

MFC - 获取MainFrame,Doc,View,App等指针的方法 一般我们使用的框架是VC提供的Wizard生成的MFC App Wizard(exe)框架,无论是多文档还是单文档,都存在指针获取和操作问题。 下面这节内容主要是一般的框架,然后再讲多线程中的指针使用。使用到的类需要包含响应的头文件。 首先一般获得本类(视,文档,对话框都支持)实例指针this,用this的目的,主要可以通过类中的函数向其他类或者函数中发指针,以便于在非本类中操作和使用本类中的功能。在View中获得Doc指针 CYouSDIDoc *pDoc=GetDocument(); 注意:SDI模 阅读详情

        在CMainFrame中直接添加 #include "TestSDIView.h" ,出现如下错误:

 

                1>e:\vc程序\vc_testprogram\testsdi\testsdi\testsdi\testsdiview.h(16): error C2143: 语法错误 : 缺少“;”(在“*”的前面)
                1>e:\vc程序\vc_testprogram\testsdi\testsdi\testsdi\testsdiview.h(16): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
                1>e:\vc程序\vc_testprogram\testsdi\testsdi\testsdi\testsdiview.h(16): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
                1>e:\vc程序\vc_testprogram\testsdi\testsdi\testsdi\testsdiview.h(16): warning C4183: “GetDocument”: 缺少返回类型;假定为返回“int”的成员函数

      

         解决方案很简单,多加一个头文件,即 #include "TestSDIDoc.h"    #include "TestSDIView.h"

         至于网上的另一种解决方案,即CMainFrame头文件中添加声明的方式貌似不靠谱,错误依旧。好像很多人都是这样回答的,可有没有人试过不好说,希望不懂没试过的人不要乱说,对一个程序员而言,以为某种方案是正确的,自己却始终无法解决问题,是件非常纠结难受的事情,大家都懂的~

MFC MDI静态切分窗口实现:多视图界面布局与文档视图架构详解 在桌面应用开发中,多文档界面(MDI)与窗口切分技术是构建复杂数据展示系统的核心方案。MDI允许用户同时操作多个文档窗口,而窗口切分技术则能在单个窗口内划分多个独立视图区域,实现数据的多角度同步展示。其技术原理在于通过框架窗口管理视图容器,利用切分窗口控件(如MFC的CSplitterWnd)对客户区进行几何划分,每个窗格可承载不同类型的视图对象。这种架构的价值在于提升信息密度与操作效率,尤其适合监控系统、数据分析工具等需要同时展示统计图表、列表、详情的场景。本文以MFC框架为例,深入解析如何在MDI子框架 阅读详情

相关推荐

从零构建MFC画图板:深入Windows图形编程与GDI实战

图形用户界面(GUI)开发是桌面应用的核心,其底层依赖于操作系统提供的图形设备接口(GDI)和消息循环机制。在Windows平台,MFC(Microsoft Foundation Classes)框架封装了Win32 API,提供了面向对象的编程模型,是理解Windows桌面应用架构的经典工具。通过实现一个画图板项目,开发者可以直观掌握文档/视图架构、消息映射、鼠标交互与图形渲染等关键技术,将理论知识转化为工程实践能力。本项目以MFC为基础,详细拆解了图形对象系统的设计、双缓冲防闪烁、对象序列化等核心模块,

weixin_34198453的博客 323

日本联合研发全固态电池:下一代电动车技术的战略突围

动力电池作为电动汽车的核心部件,其技术演进正从液态锂离子电池向固态电池迈进。固态电池采用固态电解质替代传统液态电解液,这一根本性变革源于对更高能量密度、本质安全性和快充能力的追求。从技术原理看,固态电解质能有效抑制枝晶生长、消除电解液泄漏风险,并允许使用高能量密度的锂金属负极。其技术价值在于有望突破当前锂电的300-350Wh/kg能量密度天花板,实现500Wh/kg以上的能量密度,同时大幅提升热稳定性。在应用场景上,全固态电池将成为高端电动车、长续航车型及对安全性要求严苛领域的关键解决方案。当前日本产业界

weixin_34367257的博客 447

从爱好者到工程师:如何低成本体验RFSoC ZU47DR?性能实测与避坑指南

本文详细介绍了如何低成本体验赛灵思RFSoC ZU47DR芯片,包括二手开发板选购、租赁服务、精简开发环境搭建等实用方案。通过性能实测与避坑指南,帮助爱好者和工程师在有限预算下充分利用这款集成了ARM处理器和FPGA的高性能芯片,降低开发门槛。

weixin_42525005的博客 221

CApp,CMainFrame,CDoc,CView

想写VC编程的朋友一定要看孙鑫老师的视频,里面讲得很好。 网上寻找到的资料总结: CMainFrame是CApp类的主程序窗口(如果是选MDI或SDI结构的话),也就是程序的一个框架。CApp中如无特殊的要求不用加什么代码,CMainFrame中也是根据需要,如按照微软提供的框架也不需要加什么代码。    CDocument一般和CView一起使用,这样的程序叫文档/视图结构。CD

cumirror的专栏 2178

数字图像处理基础实验(二):直方图均衡化

一、实验内容及原理 1、计算灰度图像的归一化直方图 具体内容:利用 OpenCV 对图像像素进行操作,计算归一化直方图.并在 窗口中以图形的方式显示出来 步骤: (1)初始化一个256大小的数组,存放图像中每级灰度值的像素点的个数 (2)遍历整张图像 (3)归一化数组 2、灰度图像直方图均衡处理 具体内容:通过计算归一化直方图,设计算法实现直方图均衡化处理。 步骤: (1)读取该像素点的灰度值 (...

lyd1995的博客 4526

Centos7 XFS(dm-0):Internal error XFS_WANT_CORRUPTED_GOTO

在k8s的道路上我们都是小白,每天启动虚机都会遇到各种各样的问题,这不。部署的k8s虚机启动发现操作系统启动异常,提示如下报错信息。进入/dev/mapper目录下,查询目录下路径信息。可以通过对文件系统进行修复操作,操作如下。重启完成后虚机恢复正常登录。

hedao0515的专栏 4583

单文档客户区添加控件

操作全部在CView中完成   1.在头文件中声明变量           CButton cb; 在头文件开头处写                 #define WM_MY_MESSAGE  WM_USER+100 2.在OnDraw(CDC * pDC) 中对按钮进行具体的设置        cb.create("确定",WS_CHILD|WS_VISIBLE|BS_DEFP

panzhijiepanzhiyang的专栏 649

从拆解图看懂空心杯电机:有刷 vs 无刷内部结构全解析(附DIY注意事项)

本文深入解析有刷与无刷空心杯电机的内部结构差异,通过高清拆解图展示关键部件工艺特点,并分享实用的维护技巧和检测方法。重点对比两种电机在效率、寿命和适用场景上的优劣,为DIY爱好者提供详细的注意事项和操作指南。

xgboost6farmer的博客 519

MFC由多文档转换为单文档

问题背景: 最近做了一个工程,开始时是用多文档创建的,用到了CSplitter划分为四个窗格,代码放在MainFrame里面。但我想获得文档时总是出错。后来通过调试发现编译时是先编译的视类再编译的文档类,通过上网查资料,最后决定改为单文档。多文档改单文档步骤:1.首先找到CXxxApp类里的InitInstance函数 (其中Xxx为你自己创建的类名称)将多文档模块改为添加单文档模块CSin...

huozheleisi 224

STM32 RT-Thread 系统分析(1)- 启动文件

RT-Thread STM32 系统分析(1)- 启动文件前言基本信息前言说明三级目录 前言 基本信息 名称 描述说明 RT-Thread Studio 软件版本 版本: 1.1.3 RT-Thread 系统版本 4.0.2 STM32CubeIDE 软件版本 1.4.0 STM32芯片型号 STM32F013VG 前言说明 使用了STM32CubeIDE 和 RT-Thread Studio 建立了相同型号芯片的工程,对比其中启动文件内容差异如下: 左侧是RT-Threa

鸳鸯冰笔的博客 4096

Windows非分页缓冲池内存泄漏实战:PoolMon与RAMMap高效排查指南

本文详细介绍了Windows系统中非分页缓冲池内存泄漏的实战排查方法。当系统出现卡顿且内存占用异常增长时,通过RAMMap工具快速定位非分页缓冲池异常,并利用PoolMon监控内核内存分配标签,精准锁定泄漏源。文章提供了从确认症状、安装工具到使用findstr命令溯源驱动文件的完整五步排查流程,并总结了常见泄漏标签与解决方案,帮助用户高效解决深层系统内存问题。

weixin_28455801的博客 1011

在框架类(CMainFrame)中包含视图类(CView)的头文件出错的解决之道

在MainFrame.cpp中 #include"MyView.h"会出错:error C2143: syntax error : missing ; before *error C2501: CISearchDoc : missing storage-class or type specifierserror C2501: GetDocument : missing stor

霧谷龍視-专栏 4358

【从零开始vnpy量化投资】十一. 实盘接入测试与正式实盘

本篇主要讲解如何使用vnpy进行实盘交易,由于上一节我们已经学习了模拟盘运行,如果一切顺利的话,只需要通过穿透测试,就可以正式部署实盘了。

魔落的博客 4232

收藏 不显示删除回复显示所有回复显示星级回复显示得分回复 属性表单问题,编译后,运行中会出错,求教!

共9个头文件,7个源文件 // MainFrm.h : CMainFrame 类的接口#pragma onceclass CMainFrame : public CFrameWnd{ protected: // 仅从序列化创建 CMainFrame(); DECLARE_DYNCREATE(CMainFrame)// 属性public:// 操作public:// 重写public: 

fanghaobing的专栏 552

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

近期做东西所遇到的几个MFC恼火的问题及解决方法

可能是心态不太平静,最近写代码效率如此的低,遇到了很多问题,解决起来着实痛苦,耗费了很多时间。 下面列举出来,对网上方法进行总结,顺便记录一下 1.对于单文档中非view,doc,frame,app类的自定义类,继承view,framewnd等中的消息响应    自己做了个窗口分割,所以需要新加一个视图类,这个视图类继承了CView类,添加之后,可能需要在自定义类中生成一些自己的按钮,或者菜...

Jin的专栏 1196

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

MFC中获取各种指针的方式

<br />MFC中获取各种指针的方式<br /> <br />在CWinApp中   <br />AfxGetMainWnd() <br /> <br />m_pMainWnd <br />AfxGetMainWnd()->MDIGetActive() <br /> <br />AfxGetMainWnd()->GetActiveFrame() <br />SDI:AfxGetMainWnd()->GetActiveView()->GetDocument() <br /> <br />MDI:AfxGet

chi001的专栏 598

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

MFC入门指南:从Windows API封装到文档视图架构实战

Windows桌面开发中,图形用户界面(GUI)编程是核心环节。传统Windows API编程需要直接处理窗口创建、消息循环等底层细节,代码冗长且面向过程。MFC(Microsoft Foundation Classes)作为一套C++类库,通过面向对象思想封装了这些底层API,提供了文档/视图架构、消息映射、对话框资源管理等高效开发模式。其技术价值在于大幅提升了Windows应用程序的开发效率,降低了入门门槛,特别适用于需要快速构建复杂界面的桌面软件。在Visual Studio环境中,开发者可以利用MF

weixin_30730053的博客 324

MFC入门指南:从Windows GUI开发基础到消息映射与文档视图架构实践

Windows GUI开发的核心在于理解其底层消息驱动机制与图形设备接口(GDI)。消息驱动是Windows应用程序的基石,操作系统通过消息队列将用户输入、系统事件传递给应用程序,应用程序通过消息循环处理这些事件,实现交互响应。这一原理奠定了现代GUI框架的基础,其技术价值在于提供了高效、异步的事件处理模型,使得界面能够响应用户操作。在应用场景上,无论是桌面工具、企业级应用还是嵌入式界面,都离不开这一机制。本文以MFC(Microsoft Foundation Classes)为例,深入解析其如何通过消息映

weixin_34408624的博客 304

单文档视图切分

单文档切分窗口步骤: 1、在CMainFrame添加下面Protected属性成员变量: CSplitterWnd  m_wndSplitter; 2、在项目中添加相关视图类,这些类将是你自己需要的,即将被显示在切分的窗口中,因此你需要在CMainFrame.cp中Inlcude这些视图的头文件;       注:如果含有对话框的视图类,必须要保证对话框属性是child,否则会出错,还

u012632563的专栏 626

小心的使用消息传送--传送给多个View类时需要引起注意的一个问题

我的前一篇文章里说的是关于《两种自定义消息的发送与接收的方法实现》可当我在一次使用消息传送的时候也遇到一个让人迷惑的问题,好在最后解决了。-------------------------------------------------------------原来我对于一个消息的传送也做过,使用的是    CMainFrame* pMF=(CMainFrame*)AfxGetApp()->m_

zhdleo的专栏 1052

第三课——MFC编程

一、MFC概述 1. MFC简述   MFC不仅仅是一套基础类库,更是一种编程方式。 2. MFC由来   1987年微软公司推出了第一代Windows产品,并为应用程序设计者提供了Win16(16位Windows操作系统)API,在此基础上推出了Windows GUI(图形用户界面),然后采用面向对象技术对API进行封装。   1992年推出应用程序框架产品AFX(Applicatio...

weixin_34257076的博客 412

VS2010中GetMenu()和GetSubMenu(0)为NULL引发异常的解决方法

VS2010中GetMenu()和GetSubMenu(0)为NULL引发异常的解决方法   2012-12-14 16:12:00|  分类: 编程 |  标签:mfc  |字号 订阅 解决方法1: //来源:http://www.cnblogs.com/yuzhoufeng/archive/2011/12/11/2284200

zhaozhixiang2025的专栏 1088

消息传送--传送给多个View类

转帖,自学中: 原来我对于一个消息的传送也做过,使用的是    CMainFrame* pMF=(CMainFrame*)AfxGetApp()->m_pMainWnd; // 通过获取当前框架指针    CView * active = pMF->GetActiveView();// 获取当前视类指针    if(active != NULL)      active->PostMess

paobo的专栏 884

基于VC++6.0与MFC框架的俄罗斯方块游戏开发实战详解

Windows图形编程是理解操作系统图形界面与消息机制的基础,其核心在于通过GDI(图形设备接口)进行图形绘制与渲染。在事件驱动的桌面应用开发中,消息循环与定时器机制是实现动态交互与动画的关键原理。掌握这些底层技术对于构建高性能、响应迅速的应用程序具有重要价值,尤其在游戏开发、工业控制等对实时性要求较高的场景中。本文以经典的俄罗斯方块游戏为实践案例,深入剖析如何运用MFC框架的文档-视图架构进行数据与界面的分离设计,并详细讲解如何通过双缓冲技术解决图形闪烁问题,以及如何实现基于定时器的游戏循环与精确的碰撞检

weixin_34082854的博客 379

MFC入门指南:从核心原理到实战应用,掌握Windows桌面开发基石

面向对象编程是现代软件开发的核心范式,它将数据和操作封装成对象,提升代码复用性和可维护性。在Windows桌面开发领域,微软基础类库(MFC)正是这一思想的经典实践,它通过对象封装和消息映射机制,将复杂的Win32 API抽象为易于管理的C++类。这项技术的核心价值在于,它构建了一套稳定高效的框架,使开发者能够专注于业务逻辑,而非底层窗口管理细节。在工业控制、医疗设备、金融系统等对稳定性和历史兼容性要求极高的应用场景中,MFC因其成熟度和对Windows生态的深度集成而不可替代。本文以MFC为切入点,深入解

weixin_30562507的博客 384
上一篇: VC单文档视图刷新抖动
下一篇: 字符串显示%d
CallMeZane
博客等级 码龄15年 4粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值