网站优化

网站优化

Products

当前位置:首页 > 网站优化 >

MFC框架的机制,在VC 6.0入门第三讲中是如何认识的?

GG网络技术分享 2026-04-16 16:21 1


前言:关于那个让人又爱又恨的VC 6.0和MFC

哎呀, 今天要聊的这个话题,真的是让我头大。MFC框架的机制,在VC 6.0入门第三讲中是如何认识的?说实话,看到这个标题我就想吐。但是没办法,为了学习,为了那个该死的作业,我们还是得硬着头皮看下去。先说说 我得说一句, 要我说... 通过这篇文章学习机器学习中的回归任务是指通过训练数据学习一个映射关系,来预测连续值输出。与分类任务不同,回归任务的输出是一个实数值。等等,这好像不是MFC的内容?管他呢,反正都是技术,混在一起看也没人管,对吧?

就这样吧... 我们回到正题,Visual C++ 6.0是微软推出的一个功能强大的可视化集成开发环境。这句话我都要背下来了主要原因是哪里都在说。文库首页后端VC 6.0-MFC-入门到实践.资源浏览查阅200次。Visual C++ 6.0是微软推出的一个功能强大的可视化集成开发环境。更多下载资源、学习资料请访问CSDN下载频道. Visual C++ 6.0是微软推出的一个功能强大的可视化集成开发环境。 Visual C++ 6.0是微软推出的一个功能强...

VC++6.0入门——第三讲 认识MFC框架

你看, 这就是现在的网络文章,全是废话。但是我们要讲的是MFC,那个微软基础类库。VC++6.0入门——认识MFC框架.本章将剖析基于MFC的框架程序,探讨MFC框架程序的内部组织结构. 较为基础的MFC入门教程,稍为适全MFC 初学者. 2、理解Windows的消息机Vc++6.0MFC入门教程,很好的资源。这些话听起来很高大上,其实吧呢?其实吧就是一堆类的封装,实锤。。

第一部分:那个让人看不懂的CWnd类

在第三讲里我们先说说看到了这个CWnd类。天哪,这是什么鬼东西?代码语言:c++。还给出MFC应用程序框架的简单例子并分析其结构,指出MFC编程功能强大、 方式灵活,助读者基本认识MFC编程.订阅专栏本文主要介绍VC++ 6.0的MFC编程方法及应用程序框架. 然后就是一大段代码,贴出来给你们看看,简直是折磨。

class CWnd{public:
    BOOL CreateEx(
            DWORD dwExStyle,
            DWORD dwExStyle,      // extended window style
            LPCTSTR lpClassName,  // registered class name
            LPCTSTR lpWindowName, // window name
            DWORD dwStyle,        // window style
            int x,                // horizontal position of window
            int y,                // vertical position of window
            int nWidth,           // window width
            int nHeight,          // window height
            HWND hWndParent,      // handle to parent or owner window
            HMENU hMenu,          // menu handle or child identifier
            HINSTANCE hInstance,  // handle to application instance
            LPVOID lpParam);        // window-creation data
    BOOL ShowWindow;
    BOOL UpdateWindow;
public:
    HWND m_hWnd;
};

看到没有?这一堆参数,`dwExStyle`出现了两次这就是复制粘贴的后果,连代码都写错了。这就是所谓的“入门第三讲”。接下来是具体的实现,更是让人抓狂,纯正。。

// 

反思一下。 这里有个重点,就是那个`::`符号。注释里写了`::`表示调用的是平台全局API函数。也就是说MFC其实就是把Windows API那一套难看的东西包了一层皮。`m_hWnd`就是那个句柄。虽然看起来是C++,其实骨子里还是C语言的那一套过程式编程。这就是所谓的“面向对象”?骗鬼呢。

第二部分:WinMain在哪里?

以前我们写Windows程序,都要写一个`WinMain`函数,那是程序的入口。但是在MFC里`WinMain`去哪了呢? 我爱我家。 第三讲里告诉我们,它被隐藏起来了。微软帮我们写好了。我们看看这段代码:

// 主程序
int WINAPI WinMain(
    HINSTANCE hInstance,      // handle to current instance
  HINSTANCE hPrevInstance,  // handle to previous instance
  LPSTR lpCmdLine,          // command line
  int nCmdShow)              // show state
{
    WNDCLASS cls;
     = 0;
     = 0;
    .....
    RegisterClass;
    CWnd wnd;
    ;
    ;
    ;
    HWND hwnd;
    hwnd=CreateWindowEx;
    ::ShowWindow;
    ::UpdateWindow;
    ...
}

这代码也是没谁了` = 0;`是什么意思?变量名都丢了。这教程质量真的堪忧。不过意思还是懂的,就是注册窗口类,创建窗口,显示,更新。在MFC里这些步骤被封装在`CWinApp`、`CFrameWnd`这些类里面了。你就必须掌握Microsoft基本类库的层次结构。该层次结构包容了WindowsA PI中的用户界面部分,并使你能够Windows应用程序,给力。。

这种层次结构适用于所有版本的Windows并彼此兼容。你用MFC所建立的代码是完全可移植的。MFC的基本概念和术语以及事件驱动程序设计方法。在本节中,你MFC程序。下一节中将向你详细解释这些代码。第三部分讨论了MFC控制和如何定制它们。第四部分将介绍消息映射,你将会处理MFC的事件,我倾向于...。

说了这么多废话, 其实核心就是:MFC帮你把`WinMain`藏起来了你只需要重写一些虚函数, 你看啊... 比如`InitInstance`,就可以完成程序的初始化。这就是所谓的“框架”。

第三部分:关于那些乱七八糟的配置和资源

杀疯了! 文章链接:https:///developer/article/2465870。VC++6.0入门——认识MFC框架.本章将剖析基于MFC的框架程序,探讨MFC框架程序的内部组织结构.MFC是微软为了简化程序员的开发工作所开发的一套C++类的集合, 是一套面向对象的函数库,以类的方式提供给用户使用。利用这些类,可以有效地帮助程序员完成Windows应用程序的开发。

以下内容是CSDN社区关于VC6.0+OpenCV1.0配置下的MFC单文档完整工程下载相关内容,如果想了解更多关于下载资源悬赏专区社区其他内容,请访问CSDN社区。 VC6.0+OpenCV1.0配置下的MFC单文档完整工程下载 weixin_398215262021-01-02 02:00:54 VC6.0+OpenCV1.0配置下的MFC单文档完整工程,能够实现图像的打开、 显示、保存,并实现CANNY边缘算子的计算和显示,从一个旁观者的角度看...。

翻旧账。 适合入门学习VC6.0+OpenCV1.0配置下的MFC界面的设计。学会了这个基本工程,大体上就懂怎么做MFC界面了。

不夸张地说... 你看,又扯到OpenCV了。现在的教程真是大杂烩。不过这也说明了MFC的强大,居然还能用来做图像处理。CANNY边缘算子,听起来很高大上,其实也就是调个函数而已。资源浏览查阅98次。VC6.0+OpenCV1.0配置下的MFC单文档完整工程,能够实现图像的打开、 显示、保存,并实现CANNY边缘算子的计算和显示。

适合入门学习VC6.0+OpenCV1.0配置下的MFC界面的设计。学会了这个基本工程,大体上就懂怎么做MFC界面了。更多下,更多下载资源、 学习资料请访问CSDN下载频道 VC6.0+OpenCV1.0配置下的MFC单文档完整工程,能够实现图像的打开、显示、保存,并实现CANNY边缘算子的计算和显示。

为了让大家更清楚这个烂教程里提到的各种工具, 我特意整理了一个表格, 一针见血。 虽然没什么用,但看起来很专业。

软件/库名称 版本 主要用途 推荐指数
Visual C++ 6.0 开发MFC程序, 虽然老但是经典 3星
OpenCV 1.0 图像处理,CANNY边缘检测 2星
MFC 各种 微软基础类库,折磨初学者 5星
Windows SDK 旧版 提供API接口 4星

第四部分:按钮去哪儿了?一个悲伤的故事

第三章MFC应用程序概述1第3章MFC应用程序概述精讲MicrosoftWindows是微软公司推出的一个应用于微机上的具有图形用户界面的多任务和多窗口的操作系统,Windows应用程序也称为窗口应用程序,所有的窗口应用程序都有着相同的窗口。在这个程序中, 我们自己没有编写任何代码,就生成了一个带有标题栏,具有最小化框、最大化框,具有系统菜单和一个可调边框的应用程序。这个程序和我们在第1章中所创建的程序类似,但比后者多了菜单栏、工具栏以及状态栏。这一切都是的。

但是发生析构。前面已经讲过 如果一个窗口与一个C++窗口类对象相关联,当这个C++对象生命周期结束时该对象在析构时通常会把与之相关联的窗口资源进行回收。

这就是说 当施行到例3-22所示的OnCreate函数的右大括号时刚刚创建的btn窗口就被与之相关的C++对象销毁了。所以呢,不能将这个按钮对象定义为一个局部对象。 拜托大家... 解决方法是:将其定义为CMainFrame类的一个成员变量,可以将其访问权限定义为private类型以实现信息隐藏。

希望大家... 这段话太长了我读得都喘不过气来。简单就是你的按钮变量死得太早了把窗口也带走了。所以要把变量放到类里面去。这就像谈恋爱,不能谈一场短恋,要长长久久。

何不... 文章开始之前,推荐一些别人写的很好的文章!感兴趣的也可以去读一下哦!VC6.0入门视频教程 是在优酷播出的教育高清视频,于2012-04-12 13:08:29上线。视频内容简介:Windows程序设计 Windows编程 VC++ MFC 视频 讨... 今日推荐:机器学习回归模型全解析:线性回归、 多项式回归、过拟合与泛化、向量相关性与岭回归的理论与实践

指定,说明其左上角就是其父窗口客户区的点,所以呢,该按钮就在程序的菜单下、工具栏上显示出来了。

看看这段代码, 又是按钮:

  // 定义一个cbutton
    m_,this,123);
    // 显示
    m_;

靠谱。 这代码连函数名都省了`m_`是什么鬼?估计是`m_btn`吧。这种残缺的代码在烂教程里随处可见。文章浏览阅读2.3k次。方法一:GetDlgItem)- GetCheck_vc 6 mfc 单选框 getcheck VC6.0/mfc的radio button的获取方法针对初学者 版权小结一边被 2 个专栏收录20 篇文章0 订阅 3 篇文章0 订阅 方法一: GetDlgItem)-GetCheck//这个函数是直接读取radio button控件中其中一个名为IDC_RADIO_1的情况 如果上面函数的值为0,则说明其值为假即按钮没有点在这个控件上; 反之,则说明其值为真即按钮点在这控件上。 方法二: 在函数外定义一个全局变量对应一个radio button控件,一...

你看,又扯到单选框了。这文章逻辑完全混乱。不过这也符合“越烂越好”的要求。我们再来看看一个关于MFC常用类的对比表,希望能让你更晕,恳请大家...。

MFC常用类功能对比表
类名 父类 功能描述 难易程度
CObject 所有类的基类, 提供序列化等功能
CCmdTarget CObject 处理消息映射的基类
CWnd CCmdTarget 窗口类,几乎所有界面元素的父类 非常难
CFrameWnd CWnd 框架窗口,用于主窗口 一般
CView CWnd 视图类,用于显示数据
CDialog CWnd 对话框类 简单

第五部分:一下这乱七八糟的一切

写到这里我也不知道自己写了些什么。MFC框架的机制,说白了就是宏、消息映射、文档视图结构这一套。但是在VC 6.0入门第三讲里我们看到的只是冰山一角,而且还是破碎的冰山。Visual C++ 6.0是微软推出的一个功能强大的可视化集成开发环境。这句话我再说一遍,加深印象。

通过这篇文章学习机器学习中的回归任务是指通过训练数据学习一个映射关系,来预测连续值输出。与分类任务不同,回归任务的输出是一个实数值。这句话我也再说一遍,主要原因是我觉得它放在这里特别合适,特别能体现这篇文章的混乱风格,观感极佳。。

MFC是个老古董,但是很多公司还在用。为了饭碗,我们得学。VC 6.0是个老IDE,但是很多人还在用。为了怀旧,或者为了兼容,我们得用。虽然教程很烂,代码很乱, 他急了。 但是只要我们肯钻研,还是能搞懂那个所谓的“机制”的。希望这篇文章能让你在混乱中找到一点点方向,或者至少让你觉得,原来还有比我写的更烂的文章。这就够了。


提交需求或反馈

Demand feedback