首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MFC原理第一讲.MFC的本质.以及手工编写MFC的程序

    MFC原理第一讲.MFC的本质.以及手工编写MFC的程序 PS: 这个博客属于复习知识.从头开始讲解....在写这篇博客之前.已经写了3篇MFC的本质了.不过掌握知识点太多.所以从简重新开始. 一丶MFC的本质是什么.   MFC的本质其实就是Win32程序的一种封装....二丶手工编写一个MFC程序.   手工编写MFC程序.需要熟悉两个类   一个是CWinAPP,一个是CFramWnd类. 这两个类的作用.   ...总结:     CWinAPP 这个类就是与程序有关.与窗口无关.并且保存数据和动作的一个类.   CFrameWnd 这个类就是与窗口有关的一个类. 管理窗口的....编写MFC类的步骤.   1.创建Win32工程.   2.添加一个头文件.跟一个.cpp文件.   3.头文件中定义字节的 CMyApp 并且继承 CWinAPP.

    2.4K40

    MFC学习笔记-HellowWorld

    VS2008->新建->vsual c++->常规->空项目 添加个头文件,代码如下 class CMyApp:public CWinApp { public: virtual BOOL InitInstance...CMyFrame::OnPaint() { CPaintDC dc(this); dc.TextOutA(0,0,"Hello,world"); } 项目-》属性-》配置属性-》常规-》项目默认值-》MFC...的使用-》在共享 DLL 中使用 MFC 同样在配置属性中-》连接器-》高级-》入口点-》WinMainCRTStartup 然后项目可正常运行 下面挑一部分内容解释一下这个程序 程序运行先构造一个CWinApp...派生出来的类的对象(MFC框架决定的) 就是这个对象:CMyApp theApp; MFC内部有一个WinMain函数 这个函数是程序的入口点,函数执行过程中发现了CMyApp 的对象,即执行它的InitInstance...函数 此函数负责主窗口的构造和显示工作 我们可以看到在InitInstance程序中创建了一个继承自CFrameWnd的CMyFrame类 这就是代表窗口的类 OnLButtonDown是鼠标左键按下的事件

    57420

    MFC常用的类详细介绍

    常用的MFC类 CRuntimeClass结构 在CRuntimeClass结构中定义了类名、对象所占存储空间的大小、类的版本号等成员变量及动态创建对象、派生关系判断等成员函数。...CObject类 MFC的CObject类为程序员提供了对象诊断、运行时类型标识和序列化等功能。...要创建一个支持序列化的派生类,必须将DECLARE_SERIAL宏添加到类定义中,将IMPLEMENT_SERIAL添加到类的实现文件中。...功能如下: (1)消息发送:MFC应用程序为每个CCmdTarget派生类创建一个称为消息映射表的静态数据结构,可将消息映射到对象所对应的消息处理函数上。...在MFC应用程序中有且仅有一个CWinApp派生类的对象,代表程序运行的主线程,代表应用程序本身。 CWnd类 由CCmdTarget类直接派生,是MFC中最基本的GUI对象。

    1.2K50

    MFC原理第三讲.RTTI运行时类型识别

    运行时类型信息程序.能够使用基类(父类)指针 或者引用 来检查这些指针或者引用所指的对象.....   2.类中定义的const的变量的作用以及怎么初始化   3.类中的 static + const定义的变量的作用以及怎么初始化....二丶C++简单的RTTI运行类型识别   在讲解我们要搞清楚的问题的时候.写一个简单的小例子. 使用C++自带的 编译时的RTTI程序. 注意是编译时. 具体做法:   1....初始化的时候在外部进行初始化 const 类型 类名::成员变量 = 值; 四丶MFC为什么自己构建RTTI   MFC因为出现的年代比较早.所以自己实现了RTTI....返回的是CWinAPP里面的一个成员的地址.因为前边有一个取地址符号..

    1.4K30

    VC++在MFC程序中如何注册/注销ActiveX控件(.OCX)

    在MFC程序中如何注册/注销ActiveX控件(.OCX) VC++ 2009-07-29 22:25   阅读83   评论0 字号: 大大 中中 小小 在程序中注册ActiveX控件(....OCX)的函数 BOOL RegisterOcx(LPCTSTR OcxFileName) {          LPCTSTR pszDllName = OcxFileName ;        ...//ActiveX控件的路径及文件名                  HINSTANCE hLib = LoadLibrary(pszDllName); //装载ActiveX控件         ...         }          else                    return FALSE ; } //---------------------------------- 在程序中注销...;         //ActiveX控件的路径及文件名                  HINSTANCE hLib = LoadLibrary(pszDllName); //装载ActiveX

    1.6K30

    MFCC++学习系列之简单记录7——句柄和AFX开头的函数的使用

    对机器学习感兴趣的同学可以自行学习一下!前言在MFC的使用中发现了句柄,今天来详细学习一下MFC中如何使用句柄吧!句柄的介绍句柄的使用是资源管理和传递的关键机制,通过句柄将系统资源或对象进行传递使用。...RGB(255, 0, 0)); // 创建画刷//图标句柄HICON hIcon = LoadIcon(GetModuleHandle(NULL), MAKEINTRESOURCE(1)); // 加载程序中的图标资源...IDC_HAND); // 加载系统手形光标//位图句柄HBITMAP hBitmap = LoadBitmap(GetModuleHandle(NULL), MAKEINTRESOURCE(2)); // 加载程序中的位图资源...在MFC中常看到一些以“AFX”开头的函数,是MFC框架提供的全局函数或者宏。这些函数和宏封装了Win32 API,使得C++开发者能够更加方便地编写Windows应用程序。...常用的有一下几个:AfxWinInit():用于初始化MFC应用程序。AfxGetApp():返回指向当前应用程序对象(CWinApp派生对象)的指针。

    14300

    MFC中句柄、指针、ID之间的关联

    MFC中句柄、指针、ID之间的关联 win32直接操作的是句柄HANDLE。...HWND FindWindow和FindWindowEx 具体见此处 VC++中有关句柄和指针及其转换 1.MFC窗体的句柄和指针的转换 (1) 一般窗体对象都会有一个其相应的句柄变量,所以我们能够取此对象的...(2)使用GetSafeHwnd函数取得程序所在窗体类的句柄 (3)使用FromHandle函数来通过句柄得到其想要的指针 其它的一些方法: GetActiveWindow 取当前活动窗体句柄...应用程序中首先要获得窗体的指针,然后将其转化为句柄 CWnd* pWnd; HANDLE hWnd = pWnd->GetSafeHwnd(); (2)句柄转化为指针 在MFC应用程序中首先获得对话框控件的句柄...(不论什么时候都能够用,仅仅要是MFC程序中) CWnd* pWnd = AfxGetMainWnd(); (2)获得对话框中控件指针 CWnd* pWnd = GetDlgItem(IDC_xxx

    1.7K40

    框架原理第一讲,熟悉常用的设计方式.(以MFC框架讲解)

    框架,简而言之就是把东西封装好了,使用框架开发可以快速开发程序,例如MFC程序的双击写代码....从最基础的框架看起,只有一个三个类 1.公共父类CObject   2.消息处理类,CcmdTarGet  响应消息   2.1 CWinThread    消息处理   2.2 CWinApp    ...CTestWinApp,前面几个类只是模拟MFC框架,自己定义的类,当我们用应用程序向导建立类的时候.则会生成自己的类(CTestWinApp)并且继承自CMyWinAPP 二丶封装WMain函数 按照...MFC但文档的框架 1.封装WinMain 2.自己的WMain中执行初始化代码.初始化用户的全局对象 因为我们显示窗口或者注册窗口的时候,需要调用用户的InitInstance进行初始化....此时就该进行消息循环了. 4.1添加虚函数在消息类中.并实现 4,2 自己封装的wmain进行调用. 我们最基础的框架已经搭建完成.

    1.7K110
    领券