MFC——4个基本类中的成员函数介绍

09121852 杜军 机械设计及理论

1. CMainFrame

ActivateFrame使框架对用户可视并可用

CalcWindowRect每当主框架窗口的客户区尺寸发生变化或控制条的位置发生变化,需 要重新排列客户区时,调用该函数

Create调用以构造和初始化一个与CFrameWnd对象有关的Windows框架窗口

DefWindowProc该函数调用缺省的窗口过程来为应用程序没有处理的任何窗口消息提供缺省的处理

DestroyWindow销毁指定的窗口

DoDataExchange UpdateData会调用这个函数,调用它来初始化对话框的控件或更新数据

GetActiveDocument得到当前文档的指针

GetActiveFrame返回活动CFrameWnd对象

GetScrollBarCtrl调用这个成员函数以获取指定的子滚动控件或分隔窗口的指针

LoadFrame调用以从资源信息中动态构造一个框架窗口

OnAmbientProperty框架调用这个成员函数以从包含OLE控件的窗口获得ambient属性值。重载这个函数以改变OLE控件容器向它的控件返回的缺省ambient属性值。任何没有被重载函数处理的ambient属性请求将被传递到基类的实现中

OnChildNotify该函数为重载函数,作为部分消息映射被调用,告诉父窗口即将被告知一个窗口刚刚被创建

OnCmdMsg 该函数的功能首先按字节对消息进行排序,对于WM_COMMAND消息,调用OnCommand消息响应函数,对于WM_NOTIFY消息调用OnNotify消息响应函数。任何被遗漏的消息将是一个窗口消息。OnWndMsg函数搜索类的消息映像,以找到一个能处理任何窗口消息的处理函数。如果OnWndMsg函数不能找到这样的处理函数的话,则把消息返回到WindowProc函数,由它将消息发送给DefWindowProc函数

OnCommand该函数查看这是不是一个控件通知,如果它是,OnCommand函数会试图将消息映射到制造通知的控件;如果他不是一个控件通知,OnCommand就会调用OnCmdMsg函数

OnCreateClient 为框架构造一个用户窗口

OnFinalRelease本函数在对对象的最后一个OLE参考或对象对别人的后一个OLE参考被释放时,由框架调用

OnNotify框架调用这个函数以通知控件的父窗口,在控件中发生了一个事件,或者该控件需要某些类型的信息。OnNotify处理控件通知的消息映射

OnSetPreviewMode 设置应用的主框架成为或退出预打印模式

PostNcDestroy在窗口被销毁以后,缺省的OnNcDestroy成员函数调用这个函数。派生类可以利用这个函数来执行自定义的清除工作,比如删除指针

PreCreateWindow该函数是一个重载函数,在窗口被创建前,可以在该重载函数中改变创建参数

PreSubclassWindow这也是一个重载函数,允许首先子分类一个窗口

PreTranslateMessage在消息被分派到Windows函数TranslateMessage和DispatchMessage之前过滤消息

RecalcLayout当标准工具栏或状态栏隐藏或者显示,或者窗口调整大小时,框架调用这个方法

Serialize串行化函数

WindowProc该函数负责发送消息到OnWndMsg()函数

WinHelp调用这个函数以激活WinHelp应用程序。框架也会调用这个函数以激活WinHelp应用程序。当你的应用程序终止时,框架会自动关闭WinHelp应用程序

WM_ACTIVATE 一个窗口被激活或失去激活状态

WM_ACTIVATEAPP发此消息给应用程序哪个窗口是激活的,哪个是非激活的

WM_CANCELMODE 发送此消息来取消某种正在进行的摸态

WM_CAPTURECHANGED该消息发送给一个失去鼠标捕获的窗口

WM_CHAR按下某键,并已发出WM_KEYDOWN,WM_KEYUP消息

WM_CLOSE当一个窗口或应用程序要关闭时发送一个信号

WM_CONTEXTMENU 当用户中某个窗口点击了一下右键就发送此消息给这个窗口

WM_COPYDATA 当一个应用程序传递给另一个应用程序时发送此消息

WM_CREATE 应用程序创建一个窗口

WM_DESTROY 一个窗口被销毁

WM_ENDSESSION当系统进程发出WM_QUERYENDSESSION消息后,此消息发送给应用程序,通知它对话是否结束

WM_ERASEBKGND 当窗口背景必须被擦除时调用

WM_FONTCHANGE当系统的字体资源库变化时发送此消息给所有顶级窗口

WM_GETMINMAXINFO此消息发送给窗口当它将要改变大小或位置

WM_HELPINFO当使用类向导为 WM_HELP 消息添加处理程序时,邮件不会列出在邮件列表框中。而是,该邮件被列为 WM_HELPINFO

WM_HSCROLL当一个窗口标准水平滚动条产生一个滚动事件时发送此消息给那个窗口,也发送给拥有它的控件

WM_ICONERASEBKGND此消息发送给某个最小化窗口,仅当它在画图标前它的背景必须被重画

WM_INIITMENUPOPUP当一个下拉菜单或子菜单将要被激活时发送此消息,它允许程序在它显示前更改菜单

WM_KEYDOWN按下一个键

WM_KEYUP释放一个键

WM_KILLFOCUS 失去焦点

WM_LBUTTONDBLCLK 双击鼠标左键

WM_LBUTTONDOWN 按下鼠标左键

WM_LBUTTONUP 释放鼠标左键

WM_MOUSEMOVE检测鼠标移动

WM_MOUSEWHEEL当鼠标轮子转动时发送此消息个当前有焦点的控件

WM_MOVE移动一个窗口

WM_MOVING当用户在移动窗口时发送此消息,通过此消息应用程序可以监视窗口大小和位置,也可以修改他们

WM_PAINT 要求一个窗口重画自己

WM_PALETTECHANGED此消息在一个拥有焦点的窗口实现它的逻辑调色板后发送此消息给所有顶级并重叠的窗口,以此来改变调色板

WM_PALETTEISCHANGING当一个应用程序正要实现它的逻辑调色板时发此消息通知所有的应用程序

WM_QUERYENDSESSION当用户选择结束对话框或程序自己调用ExitWindows函数

WM_QUERYNEWPALETTE维护系统调色板

WM_RBUTTONDBLCLK双击鼠标右键

WM_RBUTTONDOWN按下鼠标中键

WM_RBUTTONUP释放鼠标中键

WM_SETCURSOR如果鼠标引起光标在某个窗口中移动且鼠标输入没有被捕获时,就发消息给某个窗口

WM_SETFOCUS 获得焦点后

WM_SETTINGCHANGE注册表修改相关消息

WM_SHOWWINDOW当隐藏或显示窗口是发送此消息给这个窗口

WM_SIZE改变一个窗口的大小

WM_SIZING 当用户正在调整窗口大小时发送此消息给窗口;通过此消息应用程序可以监视窗口大小和位置,也可以修改他们

WM_SPOOLERSTATUS每当打印管理列队增加或减少一条作业时发出此消息

WM_SYSCOLORCHANGE 当系统颜色改变时,发送此消息给所有顶级窗口

WM_TCARD 当程序已经初始化Windows帮助例程时发送此消息给应用程序

WM_TIMECHANGE 当系统时间发生改变时发出该消息

WM_TIMER发生了定时器事件

WM_VSCROLL当一个窗口标准水平滚动条产生一个滚动事件时发送此消息给那个窗口,也发送给拥有它的控件

CAPP

AddToRecentFileList将一个文件名加入最近使用(MRU)的文件列表

DoMessageBox 为应用程序实现AfxMessageBox

DoWaitCursor 打开或关闭等待光标

ExitInstance 可被重载以在应用程序结束时执行清除操作

GetMainWnd此函数返回指向一个窗口的指针,这个窗口为两类窗口中的一种。如果你的线程是一个OLE服务器的一部分并且拥有一个位于活动容器中的现场激活的对象,此函数返回CWinThread对象的CWinApp::m_pActiveWnd数据成员

InitApplication 初始化程序

InitInstance 可被重载以执行Windows的实例初始化,比如创建窗口对象

OnCmdMsg是用来处理消息的路由的

OnDDECommand 框架调用这个函数以响应动态数据交换(DDE)执行命令

OnFinalRelease本函数在对对象的最后一个OLE参考或对象对别人的后一个OLE参考被释放时,由框架调用

OnIdle 可被重载以执行应用程序指定的空闲时处理

OpenDocumentFile框架调用这个成员函数为应用程序打开指定名字的CDocument文件。如果具有该名字的文档已经被打开了,则包含这个文档的第一个框架窗口将被激活。如果应用程序支持多文档模板,则框架使用文件扩展名查找适当的文档模板,试图载入此文档。PreTranslateMessage 在消息被分派到Windows函数TranslateMessage和DispatchMessage之前过滤消息

ProcessMessageFilter 在消息到达应用程序之前截取特定的消息

ProcessWndProcException 截取应用程序的消息和命令处理函数抛出的未被处理的异常

Run 运行缺省的消息循环。可被重载以定制消息循环

SaveAllmodified 提示用户保存所有改变了的文档

Serialize串行化函数

WinHelp 调用Windows的WinHelp函数

CDoc

CanCloseFrame高级函数覆盖。由框架窗口在观察文档之前调用

DeleteContents在清除文档时调用

GetFirstViewPosition返回文档列表的第一个位置,用作迭代查找的开始

GetNextView通过与文档相联系的文档列表迭代

OnChangedViewList在视图往文档中添加或从其中删除之后调用

OnCloseDocument关闭文档时调用

OnCmdMsg 是用来处理消息的路由的

OnFinalRelease本函数在对对象的最后一个OLE参考或对象对别人的后一个OLE参考被释放时,由框架调用

OnNewDocument建立新文档

OnSaveDocument保存文档

ReportSaveLoadException高级函数覆盖。在由于异常而不能打开或保存时调用

SaveModified设置文档修改标志

Serialize 串行化函数

SetPathName为文档使用的数据文件设置路径

SetTitle设置框架窗口的标题

CView

CalcWindowRect每当主框架窗口的客户区尺寸发生变化或控制条的位置发生变化,需 要重新排列客户区时,调用该函数

Create调用以构造和初始化一个与CFrameWnd对象有关的Windows框架窗口

DefWindowProc该函数调用缺省的窗口过程来为应用程序没有处理的任何窗口消息提供缺省的处理

DestroyWindow 销毁指定的窗口

DoDataExchange UpdateData会调用这个函数,调用它来初始化对话框的控件或更新数据

GetScrollBarCtrl 调用这个成员函数以获取指定的子滚动控件或分隔窗口的指针

IsSelected测试一个文档项是否被选中。用于OLE支持

OnActivateView当一个视被激活时调用

OnAmbientProperty框架调用这个成员函数以从包含OLE控件的窗口获得ambient属性值。重载这个函数以改变OLE控件容器向它的控件返回的缺省ambient属性值。任何没有被重载函数处理的ambient属性请求将被传递到基类的实现中

OnBeginPrinting开始打印作业时调用这个函数;重载这个函数以分配图形设备接口(GDI)资源

OnChildNotify当窗口的父窗口接收到这个窗口有关的通知消息时,就调用这个成员函数

OnCmdMsg是用来处理消息的路由的

OnCommand此函数完成了对菜单、通告消或加速键的响应处理

OnDragEnter当某项第一次被拖入视图的拖放区域时调用这个函数

OnDragLeave当某个被拖的项离开视图的拖放区域时调用这个函数

OnDragOver当某项被拖过视图的拖放区域时调用这个函数

OnDraw调用这个函数画出文档的图像,用于屏幕显示,打印或打印预览。需要提供其实现

OnDrop当某项被放入视图的拖放区域时调用这个函数,这是缺省的处理函数

OnEndPrinting当打印作业结束时调用这个函数。重载这个函数以释放GDI资源OnEndPrintPreview在退出预览模式的时候调用这个函数

OnEndPrintPreview当激活预览模式时调用

OnFinalRelease本函数在对对象的最后一个OLE参考或对象对别人的后一个OLE参考被释放时,由框架调用

OnInitialUpdate作一些初始化工作

OnNotify框架调用这个函数以通知控件的父窗口,在控件中发生了一个事件,或者该控件需要某些类型的信息。OnNotify处理控件通知的消息映射

OnPrepareDC在OnDraw成员函数调用前被框架函数调于屏幕显示

OnPreparePrinting此函数可在Common Print对话框出现之前调用,同时此函数使用户有机会改变显示在Print对话框里的值

OnPrint责响应WM_PAINT消息

OnScroll当OLE项被拖离视图的边界时调用这个函数

OnScrollBy当一个包含活动的现场可编辑OLE项的视图被滚动时调用这个函数

OnUpdate调用这个函数以通知一个视图,文档已经被修改

PostNcDestroy在窗口被销毁以后,缺省的OnNcDestroy成员函数调用这个函数。派生类可以利用这个函数来执行自定义的清除工作,比如删除指针

PreCreateWindow该函数是一个重载函数,在窗口被创建前,可以在该重载函数中改变创建参数

PreSubclassWindow这也是一个重载函数,允许首先子分类一个窗口

PreTranslateMessage在消息被分派到Windows函数TranslateMessage和DispatchMessage之前过滤消息

Serialize 串行化函数

WindowProc 该函数负责发送消息到OnWndMsg函数

WinHelp调用Windows的WinHelp函数

WM_CANCELMODE发送此消息来取消某种正在进行的摸态

WM_CAPTURECHANGED 该消息发送给一个失去鼠标捕获的窗口

WM_CHAR 按下某键,并已发出WM_KEYDOWN,WM_KEYUP消息

WM_CONTEXTMENU当用户中某个窗口点击了一下右键就发送此消息给这个窗口

WM_COPYDATA当一个应用程序传递给另一个应用程序时发送此消息

WM_CREATE应用程序创建一个窗口

WM_ERASEBKGND当窗口背景必须被擦除时调用

WM_HELPINFO当使用类向导为 WM_HELP 消息添加处理程序时,邮件不会列出在邮件列表框中。而是,该邮件被列为 WM_HELPINFO

WM_HSCROLL当一个窗口标准水平滚动条产生一个滚动事件时发送此消息给那个窗口,也发送给拥有它的控件

WM_KEYDOWN 按下一个键

WM_KEYUP 释放一个键

WM_KILLFOCUS失去焦点

WM_LBUTTONDBLCLK双击鼠标左键

WM_LBUTTONDOWN按下鼠标左键

WM_LBUTTONUP释放鼠标左键

WM_MOUSEMOVE 检测鼠标移动

WM_MOUSEWHEEL 当鼠标轮子转动时发送此消息个当前有焦点的控件

WM_MOVE 移动一个窗口

WM_PAINT要求一个窗口重画自己

WM_RBUTTONDBLCLK 双击鼠标右键

WM_RBUTTONDOWN 按下鼠标中键

WM_RBUTTONUP 释放鼠标中键

WM_SETCURSOR如果鼠标引起光标在某个窗口中移动且鼠标输入没有被捕获时,就发消息给某个窗口

WM_SETFOCUS 获得焦点后

WM_SETTINGCHANGE 注册表修改相关消息

WM_SHOWWINDOW 当隐藏或显示窗口是发送此消息给这个窗口

WM_SIZE 改变一个窗口的大小

WM_TCARD当程序已经初始化Windows帮助例程时发送此消息给应用程序

WM_TIMER 发生了定时器事件

WM_VSCROLL当一个窗口标准水平滚动条产生一个滚动事件时发送此消息给那个窗口,也发送给拥有它的控件

时间: 2024-10-21 15:12:02

MFC——4个基本类中的成员函数介绍的相关文章

浅析在类模版中构建成员函数时,使用memcpy产生的副作用

一般情况下我们在对类模版中的成员函数进行构建时会经常对一些数据进行复制拷贝,而通常情况下我们都不提倡用memcpy进行拷贝,因为在类模版中所传进来的类型可以是内置类型也可以是非内置类型,除非你在成员函数中使用memcpy前进行类型萃取,否则它所带来的副作用的后果也是很可怕的.memcpy在对内置类型可正常拷贝,而在对非内置类型拷贝时会出现浅拷贝的现象. 下面我们可以通过一个简单的顺序表程序来分析memcpy对非内置类型所产生的副作用: #include<iostream> #include&l

c++ 类中模版成员函数

C++函数模版与类模版. template <class T> void SwapFunction(T &first, T &second){ }//函数模版 template <class T>//类模版 class CTemplate{ public: void SWap(T &first, T &second){ } }; #include <iostream> class Single{ public: static Single

SQL中的ISNULL函数介绍

SQL中有多种多样的函数,下面将为您介绍SQL中的ISNULL函数,包括其语法.注释.返回类型等,供您参考,希望对您学习SQL能够有所帮助. ISNULL 使用指定的替换值替换 NULL. 语法ISNULL ( check_expression , replacement_value ) 参数check_expression 将被检查是否为 NULL的表达式.check_expression 可以是任何类型的. replacement_value 在 check_expression 为 NUL

(转)SQL中的ISNULL函数介绍

SQL中有多种多样的函数,下面将为您介绍SQL中的ISNULL函数,包括其语法.注释.返回类型等,供您参考,希望对您学习SQL能够有所帮助. ISNULL 使用指定的替换值替换 NULL. 语法ISNULL ( check_expression , replacement_value ) 参数check_expression 将被检查是否为 NULL的表达式.check_expression 可以是任何类型的. replacement_value 在 check_expression 为 NUL

Java继承类中static成员函数的重写

在java中,static成员函数是否可以被重写呢? 结论是,你可以在子类中重写一个static函数,但是这个函数并不能像正常的非static函数那样运行. 也就是说,虽然你可以定义一个重写函数,但是该函数没有多态特性.让我们测试一下: 1 class testClass1{ 2 static void SMothod(){ 3 System.out.println("static in testClass1"); 4 } 5 } 6 class testClass2 extends

在C语言结构体中添加成员函数

我们在使用C语言的结构体时,经常都是只定义几个成员变量,而学过面向对象的人应该知道,我们定义类时,不只是定义了成员变量,还定义了成员方法,而类的结构和结构体非常的相似,所以,为什么不想想如何在C语言结构体中添加成员变量呢 在C语言的结构体中是不能直接定义成员函数的,这点和C++不同,但是我们可以通过定义一个函数指针的方式来指向一个方法. 示例代码如下: 1 #include<stdio.h> 2 #include<stdlib.h> 3 typedef struct node 4

C++中基于成员函数是否是const重载成员函数

C++pimer中文版第四版 378页 基于const的重载 如果我们要在一个类的成员函数中定义两个函数签名完全一样的成员函数,比如display,那么可以基于是否是const成员函数来重载.比如: //非const对象可以使用可以使用任意成员,但是下面这个匹配的更好,所以一般用这个成员函数 Screen& display(ostream& os){ os << "something"; return *this;//返回的是普通引用 Screen&

子类中的成员函数覆盖父类(name hiding)

只要子类中出现了和父类中同名的函数,父类中的所有这个名字的函数,就被屏蔽了. 静态函数成员也是如此?经过代码验证,确实如此. #include <iostream> using namespace std; class A{ public: void print(){cout << "A::print()" << endl;} }; class B:public A{ public: void print(int i ){cout <<

C/C++中的成员函数指针声明及使用

代码: 1 #include <iostream> 2 3 using namespace std; 4 5 class Test{ 6 public: 7 void func(){ 8 cout<<"func"<<endl; 9 }; 10 static void stcFunc(){ 11 cout<<"static func"<<endl; 12 }; 13 }; 14 15 int main(int