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

paraphrase和translation的区别_translating和interpreting的区别

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

66920

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

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

6610
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    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的那个,在写成例如以下:

    96010

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

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

    2.1K50

    VC++6.0入门——第六讲 菜单编程

    从CCmdTarget派生的类,都可以接收到这类消息。通过MSDN提供的MFC类层次结构图,可以发现CWnd类实际上派生于CCmdTarget类。...也就是说,凡是从CWd派生的类,它们既可以接收标准消息,也可以接收命令消息和通告消息。而对于那些从CCmdTarget派生的类,则只能接收命令消息和通告消息,不能接收标准消息。...CWnd派生的类既可以接收命令消息,也可以接收标准消息下面,我们以Menu这个程序为例,来看看菜单命令消息路由的具体过程:当点击某个菜单项时,最先接收到这个菜单命令消息的是框架类。...视类首先根据命令消息映射机制查找自身是否对此消息进行了响应,如果响应了,就调用相应响应函数对这个消息进行处理,消息路由过程结束:如果视类没有对此命令消息做出响应,就交由文档类,文档类同样查找自身是否对这个菜单命令进行了响应...如果文档类也未做出响应,就把这个命令消息交还给视类,后者又把该消息交还给框架类。框架类查看自已是否对这个命令消息进行了响应,如果它也没有做出响应,就把这个菜单命令消息交给应用程序类,由后者来进行处理。

    10630

    VC++6.0入门——第九讲 定制应用功能程序外观

    引出VC++6.0入门——第九讲 定制应用功能程序外观第九讲 定制应用功能程序外观本章将讲述如何修改MFC AppWizard自动生成的应用程序的外观,包括工具栏和状态栏的编程,以及如何为应用程序添加一个启动画面...同样,对于MF℃应用程序来说,为了改变MFC AppWizard自动生成的应用程序外观和大小,我们既可以在应用程序窗口创建之前进行,也可以在该窗口创建之后进行。...在MFC程序中,如果想在窗口创建之后改变其外观,可以在框架类(CMainFrame)的OnCreate函数中添加具体的实现代码。...我们已经知道,在MFC SDI应用程序中,有一个表示应用程序本身的类,本例中就是 CStyleApp,它派生于CWinApp类。...该类有一个数据成员:m hInstance,标识了应用程序当前的实例,也就是说,如果我们能获取到应用程序的CWinApp对象,就可以利用这个对象来调用它的m_hInstance数据成员,从而得到应用程序当前的实例句柄

    9110

    MFC中注释含义

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

    1.2K70

    MFCC++学习系列之简单记录——序列化机制

    前言MFC有六大机制,分别是程序启动机制、窗口创建机制、动态创建机制、运行时类信息机制、消息映射机制、序列化机制。...简述六大机制程序启动机制:全局的应用程序类对象——>AfxWinMain主函数——>应用程序对象的指针——>调用程序对象的有关函数——>初始化和启动窗口创建机制:加载菜单——>CWnd::CreateEx...函数创建窗口——>消息处理函数为AfxWndProc(框架类对象与窗口句柄进行绑定)动态创建机制:派生自CObject——>声明DECLARE_DYNAMIC(theclass)——>实现宏IMPLEMENT_DYNAMIC...通过CRuntimeClass* CObject::GetRuntimeClass() const获取静态变量的地址,使用IsKindOf()函数来查找是否是括号中类的派生类。...消息映射机制:MFC程序中的消息映射机制允许将Windows消息、控制通知消息和命令消息映射到对应的处理函数,可以理解为窗口控件和后台事件绑定。消息映射表——>查询该表判断是否需要响应某条消息。

    6800

    MFC原理第六讲.消息传递

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

    1K10

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

    与分类任务不同,回归任务的输出是一个实数值。引出VC++6.0入门——认识MFC框架第三讲 MFC框架本章将剖析基于MFC的框架程序,探讨MFC框架程序的内部组织结构。...MFC(Microsoft Foundation Class,微软基础类库)是微软为了简化程序员的开发工作所开发的一套C++类的集合,是一套面向对象的函数库,以类的方式提供给用户使用。...利用这些类,可以有效地帮助程序员完成Windows应用程序的开发。新建项目在这个程序中,我们自己没有编写任何代码,就生成了一个带有标题栏,具有最小化框、最大化框,具有系统菜单和一个可调边框的应用程序。...这个程序和我们在第1章中所创建的程序类似,但比后者多了菜单栏、工具栏以及状态栏。这一切都是通过MFC AppWizard生成的。...问题的原因有两个:一是这里定义的btn对象是个局部对象,当执行到OnCreate函数的右大括号(})时,该对象的生命周期就结束了,就会发生析构。

    32010

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

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

    1.1K52

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

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

    29520

    关键部分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

    37110

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

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

    4.5K31

    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
    领券