首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

对于MFC CWnd类,是否有类似“OnPostCreate”的消息处理程序?

对于MFC CWnd类,没有类似于"OnPostCreate"的消息处理程序。MFC(Microsoft Foundation Class)是微软提供的一套用于开发Windows桌面应用程序的类库,CWnd是MFC中表示窗口的基类。在MFC中,消息处理程序是通过响应消息来实现的,每个消息都有对应的消息处理函数。

常见的消息处理函数有:

  1. OnCreate:在窗口被创建时调用,可以在此函数中进行窗口的初始化操作。
  2. OnPaint:在窗口需要重绘时调用,可以在此函数中进行绘图操作。
  3. OnSize:在窗口大小改变时调用,可以在此函数中重新布局窗口的子控件。
  4. OnMouseMove:在鼠标移动时调用,可以在此函数中处理鼠标移动事件。
  5. OnLButtonDown:在鼠标左键按下时调用,可以在此函数中处理鼠标左键点击事件。

以上只是一些常见的消息处理函数,根据具体需求,可以重写更多的消息处理函数来响应不同的消息。在MFC中,消息处理函数一般以"On"开头,后面跟着消息名称。

腾讯云相关产品和产品介绍链接地址:

请注意,以上只是腾讯云的一些相关产品,其他云计算品牌商也提供类似的产品和服务。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

paraphrase和translation区别_translating和interpreting区别

PreTranslateMessage是消息在送给TranslateMessage函数之前被调用,绝大多数本窗口消息都要通过这里,比较常用,当需要在MFC之前处理某些消息时,常常要在这里添加代码....MFC 消息控制流最具特色地方是CWnd虚拟函数PreTranslateMessage(),通过重载这个函数,可以改变MFC消息控制流程,甚至可 以作一个全新控制流出来。...只有穿过消息队列消息才受PreTranslateMessage()影响,采用SendMessage()或其他类似的方 式向窗口直接发送而不经过消息队列消息根本不会理睬PreTranslateMessage...是否调用TranslateMessage()和DispatchMessage()是由一个名称为PreTranslateMessage()函数返回值决定,如果该函数返回TRUE,则不会把该消息分发给窗口函数处理...MFC通过CWinAppPumpmessage函数实现消息循环,但是实际消息循环代码位于 CWinThread中,CWinApp只是从CWinThread继承过来。

65120

MFC Windows 程序设计->消息反射

= WM_DRAWITEM) //对应不同控制,会有不同特殊处理要求消息。   ...对于从子控件发来消息,父控件可能在处理之前,把消息返还给子控件处理,这样消息看起来就想是从父窗口反射回来一样,故此得名:消息反射。   ...消息反射由来   在windows和MFC4.0版本一下,父窗口(通常是一个对话框)会对这些消息进行处理,换句话说,子控件这些消息处理必须在父窗口体内,每当我们添加子控件时候,就要在父窗口中复制这些代码...我们可以想象,如果这些消息都让父窗口去做,父窗口就成了一个万能神,一个臃肿不堪代码机,无论如何消息处理都集中在父窗口中,会使父窗口繁重无比,但是子控件却无事可做,并且代码也无法重用,这对于一个程序员来讲是多么痛苦一件事...不过需要注意是:消息反射是MFC实现,不是windows实现;要让你消息反射机制工作,你得必须从CWnd派生。

5910
  • MFC自定义控件之消息机制

    MFC消息机制 MFC是使用一种消息映射机制来处理消息,在应用程序框架中表现就是一个消息消息处理函数一一对应消息映射表,以及消息处理函数声明和实现等代码。...当窗口接收到消息时,会到消息映射表中查找该消息对应消息处理函数,然后由消息处理函数进行相应处理。...SDK编程时需要在窗口过程中一一判断消息值进行相应处理,相比之下MFC消息映射机制要方便好用多。 ?...以窗口消息为例: 如下是消息动态添操作图,在向导直接添加,vs会自动在头文件和源文件中自动添加。 ?...this); // device context for painting // TODO: 在此处添加消息处理程序代码 //

    1.7K20

    AfxMessageBox和MessageBox差别

    Afx开头都是全局函数,也就是说AfxMessageBox能够用于不论什么程序;而MessageBox仅仅能用在CWnd及其派生中。...AfxMessageBox()函数在不论什么里边都能够使用,而MessageBox()函数仅仅能在CWnd继承中使用。...AfxMessageBox不能控制消息框标题,经常使用于调试程序内部数据输出或警告;MessageBox比較正式,经常使用在要提交应用程序版本号中,能够控制标题内容而不必採用含义不明可运行文件名称为标题...,消息标题为应用程序可运行文件名称(如Hello)。...nType = MB_OK ); 所以说,MFC里仅仅是少了第一个參数,同一时候第三和第四都有默认值了,这就是它们差别,其它同样 同一时候在MFC窗口里要调用API那个,在写成例如以下:

    94810

    MFC原理第五讲.消息映射.以及如何添加消息

    MFC原理第五讲.消息映射.以及如何添加消息 一丶消息映射是什么   我们知道.Win32程序.都是通过消息去驱动. 不断处理消息....消息 是WM_XXX. 我们可以在 afxmsg.h 中查看. 我们在中声明消息.并且添加消息处理函数即可. 例如以下代码: ? 上面是声明.下面是实现. 应用程序截图 ?...我是按照VS2015下MFC讲解. 如果是VC6.0下. 那么 需要添加三个成员方法. 不过实现是类似了. 具体可以查看VC60MFC源码. 根据VS2015给我们添加了两个成员方法....另一个结构则是存放父MessageMap .以及自己当前存放信息结构 那么知道了消息映射表.我们可以在按钮点击时候. 按一下打印出我们消息时候对应地址了. 这个对于逆向很有帮助....我们可以使用逆向工具 到这个地址查看.看看是否是我们点击时候消息. ? 因为是Dbg版本.所以Jmp跳转一层.我们直接跳转进去查看. ? 可以很简单看到.就是我们编写代码位置.

    2.1K50

    MFC中注释含义

    MFC 浏览版本对于通过 MFC 调用结构本身进行跟踪非常有用。该目录中 Readme.Txt 文件解释了如何使用此生成文件。...本文解释 MFC 用于注释每个各部分约定、这些注释含义以及在每节中应该可以找到内容。Visual C++ 向导对其创建使用类似的约定,您可能会发现这些约定对于您自己代码很有用。...在 MFC 源文件和“MFC 应用程序向导”创建文件中,在声明中都可以找到类似下面的注释(通常按此顺序): // Constructors // Attributes // Operations /...例如,CStdioFile 三个构造函数,其中一个显示在注释示例下列表中。...注意   本文描述约定通常也适用于自动化(以前称为 OLE 自动化)方法和属性。自动化方法类似于 MFC 操作。自动化属性类似于 MFC 特性。

    1.2K70

    MFC原理第六讲.消息传递

    要学习知识     1.窗口创建流程.以及默认回调函数     2.消息处理流程 二丶窗口创建流程.以及默认回调函数   我们要看窗口创建.那么就需要跟进 MFC源码去看....三丶消息处理流程   通过上面我们得知了窗口处理回调已经更改了. 现在我们直接对我们消息下段点.就可以验证一下.是否是我们函数首次来到. 对我们按钮点击下段点. 通过栈回朔一层一层往上看....如果自己不处理.那么默认就调用 CWnd里面的消息处理函数了 而里面的 OnMsg函数同样也是一个虚函数. 如果不该写一样调用父 调试可以看一下. ? 只是部分代码截图.如果有兴趣可以深究....如果来菜单消息了就统一为WM_COMMAND消息. 代表是通知消息. 而我们这个方法就是判断消息是什么类型. 进行不同消息处理....这个函数跟上面类似.也是遍历消息映射表去寻找.兴趣可以自己看下源码.

    99210

    VC++6.0 转 VS2005以上版本(1)

    如果是成员函数,类似处理。...方案二优点是不影响程序低版本ARX编译,可以通过条件编译控制是否进行字符串转换。...派生自ARX里导出,基虚函数参数或返回值类型是字符串 由于是重载虚函数,函数声明须一致,这种情况已经不能使用字符串转换了,ARX 2007导出成员字符串类型参数返回值等都是宽字节,只能在程序中使用条件编译...使用或派生自AutoCAD提供界面控件,LPCREATESTRUCT结构问题。 MFC提供派生自CWnd很多统一接口和数据结构。...我们程序如APArxInterface里UeDockControlBar派生自CAcUiDockControlBar,重载使用了类似LPCREATESTRUCT这样能自适应字符串编译方式MFC定义数据结构接口时

    27720

    MFC入门教程(深入浅出MFC)

    一般为了让某种操作达到效果,我们只需要实现某个消息消息处理函数。 一.添加消息处理函数 鸡啄米仍以前面的加法计算器程序为例,说明怎样为“计算”按钮控件添加消息处理函数。...4.双击按钮添加消息处理函数 最直接最简单方法就是,双击“计算”按钮,MFC会自动为其在CAdditionDlg中添加BN_CLICKED消息处理函数OnBnClickedAddButton...,相信对基于对话框程序有些了解了,个好的开始对于以后学习大有裨益。...大家打开Addition.cpp文件,可以看到CAdditionApp个InitInstance()函数,在MFC应用程序框架分析中提到过此函数,不过那是单文档应用程序App,函数体不太相同,...OnWizardNext:处理属性页“Next”按钮被单击消息,仅在向导对话框中有效 2.CPropertySheet CPropertySheet继承自CWnd,它是属性表

    4.3K30

    MFC原理第二讲.MFC初始化过程

    MFC原理第二讲MFC初始化过程 一丶简介   通过上一讲.我们手工模拟了一个MFC程序. 但是上一讲留下了疑问. 就是WinMain在哪.以及消息处理在哪里....以及为什么全局应用程序对象要初始化. 也就是我们theApp这个变量. 也就是MFC初始化过程. 二丶Winmain查找.   ...四丶MFC初始化过程代码编写   上面我们已经将该有的.该继承已经写好了.现在我们就可以写自己模拟了.   1.首先需要InitInstance这个虚函数....MFC中也是放在CWinThread中.所以我们放到我们里面....但是要包含我们写CMyWnd.因为指针类型是CWnd *     而这个我们也定义了.   3.我们WinApp 实现initInstance 并且添加一个 WinApp * m_pCurApp

    1.1K51

    关键部分CCriticalSection使用

    CCriticalSection构造函数原型例如以下: CCriticalSection() 能够发现这个构造函数没有參数,所以创建一个CCriticalSection对象很...easy,仅仅有例如以下就可以: CCriticalSection criticalSection; 演示样例:使用临界段编写一个两个线程应用程序。...1.创建单文档应用程序; 2.在视图实现文件里定义一个临界段对象: CCriticalSection criticalSection; 3.在视图实现文件里定义两个线程函数:..._T( “Thread message”), MB_OK); criticalSection.Unlock(); return 0; } 4.在视图鼠标左键消息函数编写例如以下...《MFC Windows应用程序设计(第2版)》 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/162029.html原文链接:https://javaforall.cn

    36510

    MFC编程入门之五(MFC消息映射机制概述)

    MFC软件开发中,界面操作或者线程之间通信都会经常用到消息,通过对消息处理实现相应操作。 比较典型过程是,用户操作窗口,然后有消息产生,送给窗口消息处理函数处理,对用户操作做出响应。...MFC使用一种消息映射机制来处理消息,在应用程序框架中表现就是一个消息消息处理函数一一对应消息映射 表,以及消息处理函数声明和实现等代码。...通知消息一般由列表框等子窗口发送给父窗口,消息名称也是WM_COMMAND,其中附带了控件通知码 来区分控件。    CWnd派生都可以接收到标准Windows消息、通知消息和命令消息。...六、各种Windows消息消息处理函数    标准Windows消息消息处理函数都与WM_CREATE消息类似。    ...本节对MFC消息映射机制只是做了比较简单讲解,让大家对它有一定认识,编程入门这不必强求完全掌握。在以后教程中会经常涉及 到消息使用,大家会逐渐熟悉MFC消息映射机制。

    1.8K10

    mfc wpf winform(工业用mfc还是qt)

    为啥把这四个框架放一起来说呢,因为四者之前有类似的地方.相同语言之间框架有相似那是毫无疑问,但实际上不同语言之间库也有类似的地方了.C++中MFC和C#中WinForm有点类似,而C++中QT...这样宏来关联下.把某个控件送出消息与一个函数对应起来.当然了因为所有控件都继承自CWnd这类,所以也可以通过这类一些函数去直接操作控件,比如GetDlgItem这样函数,传资源ID做参数就行.....只不过这些功能在C#中用很少.那些页面控件也不再是放资源文件中.WinForm中一切皆使用面向对象,数据逻辑处理代码与UI代码都是在同一个中,只不过C#分部类概念,就是说同一个代码可以分开在几个文件中...而如果要与控件交互也跟wpf一样方便,每个控件个objectName,相当于MFC资源ID号,然后调用控件时直接用这个名字就行,当然前面要加个指向自身所在指针.比如有Arwen,button...另外QT里面也没有MFC消息处理概念,而是封装成一个叫signal / slot机制.这跟C#中WinForm事件(event)非常类似,例如你右击QT中一个按钮,然后右击go to slot

    2.3K10

    锁定屏幕相关知识「建议收藏」

    而钩子是 Windows 系统中非常重要系统接口,用它可以截获并处理送给其他应用程序消息,来完成普通应用程序难以实现功能。...钩子可以监视系统或进程中各种事件消息,截获发往目标窗口消息并进行处理。...第一种 DLL 特点是,在编译时把使用 MFC 代码加入到 DLL 中,因此,在使用该程序时不需要其他 MFC 动态链接存在,但占用磁盘空间比较大;第二种 DLL 特点是,在运行时,动态链接到...MFC 库,因此减少了空间占用,但是在运行时却依赖于 MFC 动态链接库;这两种 DLL 既可以被 MFC 程序使用也可以被 Win32 程序使用。...第三 DLL 特点类似于第二种,做为 MFC 扩展,只能被 MFC 程序使用。

    1.2K11

    WIN32 API —— 最简单Windows窗口封装

    1 开发语言抉择 1.1 关于开发Win32 程序语言选择 C还是C++ 在决定抛弃MFC,而使用纯Win32 API 开发Window桌面程序之后,还存在一个语言选择,这就是是否使用C++...2 Windows窗口对象封装 对Windows桌面程序而言,Window和Message概念是核心。首先需要封装就是窗口,例如MFC就是用CWnd封装了窗口对象。...当然这种技术只能用到虚函数中,对于没有虚函数对象,不存在虚表。...对于我们情况,XqWindow一个HandleMessage虚函数,从而其他所有继承此类子类孙也就都有自己虚表了。...这里涉及到对C++对象内存布局,窗口创建、销毁、消息处理过程深入理解。写一个小小就如此不易,写一个健壮库真是难上加难,想想MFC也真的挺不容易

    2.1K20
    领券