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

MFC:保证在CWnd::OnCreate()之后调用什么?

在MFC中,保证在CWnd::OnCreate()之后调用CWnd::OnInitialUpdate()。

CWnd::OnCreate()是在窗口创建后被调用的函数,用于执行窗口的初始化操作。而CWnd::OnInitialUpdate()是在窗口创建后的第一次更新时被调用的函数,用于执行窗口的初始更新操作。

在CWnd::OnCreate()函数中,通常会进行窗口的创建、属性设置等操作。而在CWnd::OnInitialUpdate()函数中,通常会进行窗口的布局、控件的初始化、数据的加载等操作。

调用CWnd::OnInitialUpdate()的目的是确保窗口的初始更新操作在窗口创建后进行,以便正确地显示窗口内容和初始化相关控件。

对于MFC应用程序中的窗口类,一般会在CWnd::OnCreate()函数中调用CWnd::OnInitialUpdate(),以保证在窗口创建后进行初始更新操作。这样可以确保窗口的显示和功能的正常运行。

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

  • 腾讯云云服务器(CVM):提供弹性计算能力,满足各类业务需求。详情请参考:https://cloud.tencent.com/product/cvm
  • 腾讯云云数据库MySQL版:提供高性能、可扩展的MySQL数据库服务。详情请参考:https://cloud.tencent.com/product/cdb_mysql
  • 腾讯云云存储(COS):提供安全、稳定、低成本的云存储服务。详情请参考:https://cloud.tencent.com/product/cos
  • 腾讯云人工智能(AI):提供丰富的人工智能服务,包括图像识别、语音识别、自然语言处理等。详情请参考:https://cloud.tencent.com/product/ai
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

windows窗体线程异常_指针声明和使用时有何不同

多线程设计中,许多人为了省事,会将对话框类或其它类的指针传给工作线程,而在工作线程中调用该类的成员函数或成员变量等等。...但是Debug版本时,某些情况下,特别是工作线程中调用pWnd->UpdateData(FALSE)时,会出现错误。...这个错误的原因网上有许多地方讲到了,但是,令人失望的是,讲得好的没几篇,都是非要讲什么线程模块状态什么的,让人看得云里雾里(不过,说实话,也就是从这些文章中才知道是怎么回事的)。...正因为如此,MFC只是Debug版本中才有这个ASSERT_VALID的问题存在,Release版本中却没有,因为它没有理由来阻止我们用。...虽然如此,但是毕竟我们的调试许多时候是要用到Debug版本的,MFC的如此做法还是给我们带来了诸多不变,幸运的是,MFC将它的真正检测线程相关MFC对象的代码做成了虚拟函数,也就是说,我们可以重载它,这样

47540

AfxMessageBox和MessageBox差别

MessageBox()是Win32API函数.后者是mfc中的全局函数.MFC中能用MessageBox()的地方都能用AfxMessageBox(). afxmessagebox很多其它的时候是用于调试...Afx开头的都是全局函数,也就是说AfxMessageBox能够用于不论什么程序;而MessageBox仅仅能用在CWnd及其派生类中。...AfxMessageBox()函数不论什么类里边都能够使用,而MessageBox()函数仅仅能在CWnd类的继承类中使用。...另外一种形式中, nIDPrompt为要显示的文本字符串字符串表中的ID。函数调用时会自己主动从字符串表中加载字符串并显示消息框中。...nType = MB_OK ); 所以说,MFC里仅仅是少了第一个參数,同一时候第三和第四都有默认值了,这就是它们的差别,其它的同样 同一时候MFC的窗口类里要调用API的那个,写成例如以下:

89710

图像处理程序框架—MFC相关知识点

MFC中OnDraw与OnPaint的区别 : OnPaint是WM_PAINT消息的消息处理函数,OnPaint中调用OnDraw,一般来说,用户自己的绘图代码应放在OnDraw中。 ...而OnDrawBeginPaint与EndPaint间被调用。  1) mfc结构里OnPaint是CWnd的成员函数....OnDraw()和OnPaint()有什么区别呢?  首先:我们先要明确CView类派生自CWnd类。而OnPaint()是CWnd的类成员,同时负责响应WM_PAINT消息。...这就是为什么你用VC成的程序代码时,视图类只有OnDraw没有OnPaint的原因。而在基于对话框的程序中,只有OnPaint。  其次:我们第《每天跟我学MFC》3的开始部分已经说到了。...所以OnDraw()里你可以区别对待打印和屏幕绘制。  其实,MFC进行打印前后还做了很多工作,调用了很多虚函数,比如OnPreparePrint()等。

1.4K20

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

PreTranslateMessage是消息送给TranslateMessage函数之前被调用的,绝大多数本窗口的消息都要通过这里,比较常用,当需要在MFC之前处理某些消息时,常常要在这里添加代码....MFC 消息控制流最具特色的地方是CWnd类的虚拟函数PreTranslateMessage(),通过重载这个函数,可以改变MFC的消息控制流程,甚至可 以作一个全新的控制流出来。...TranslateMessage和DispatchMessage发生之前会调用 AfxPreTranslateMessage,AfxPreTranslateMessage又会调用 CWnd::WalkPreTranslateTree...(虽然也会调用其他函数,但是这个最为关键),其代码如下:   BOOL PASCAL CWnd::WalkPreTranslateTree(HWND hWndStop, MSG* pMsg)   ...hWnd对应的CWnd MFC 中PreTranslateMessage是GetMessage(…)函数的下一级操作,即GetMessage(…)从消息队列中获取消息 后,交由PreTranslateMessage

62920

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

MFC软件开发中,界面操作或者线程之间通信都会经常用到消息,通过对消息的处理实现相应的操作。 比较典型的过程是,用户操作窗口,然后有消息产生,送给窗口的消息处理函数处理,对用户的操作做出响应。...二、什么是消息映射机制?    MFC使用一种消息映射机制来处理消息,应用程序框架中的表现就是一个消息与消息处理函数一一对应的消息映射 表,以及消息处理函数的声明和实现等代码。...CWnd的派生类都可以接收到标准Windows消息、通知消息和命令消息。命令消息还可以由文档类等接收。  ...消息映射除了CMainFrame的实线文件中 添加消息映射表外,类的定义文件MainFrame.h中还会添加一个宏调用:    DECLARE_MESSAGE_MAP() 一般这个宏调用写在类定义的结尾处...本节对MFC消息映射机制只是做了比较简单的讲解,让大家对它有一定的认识,编程入门这不必强求完全掌握。以后的教程中会经常涉及 到消息的使用,大家会逐渐熟悉MFC的消息映射机制。

1.7K10

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

以及为什么全局应用程序对象要初始化. 也就是我们的theApp这个变量. 也就是MFC的初始化过程. 二丶Winmain查找.   ...这样直接定位到Winmain   2.因为我们的InitInstance调用.我们可以下段点.然后栈回朔可以看到上一层也就是winmain调用的一层. 第一种方法. ? 第二种方法: ?...因为MFC框架太大.现在不利于我们直接看MFC源码学习.所以我们要从最简单的模拟开始. 三丶MFC的初始化过程之theApp为什么全局.   ...所以说.TheApp应用对象数据main之后经常使用.所以必须编写....为什么还需要第二个 m_pCurApp指针.原因是 MFC调用的时候.不能直接使用     theApp. 而是通过一个函数 AfxGetTheApp来获取的.

1K51

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

MFC中句柄、指针、ID之间的关联 win32直接操作的是句柄HANDLE。...m_hObject (2)CGdiObject::GetSafeHandle (3)能够使用FromHandle函数来通过句柄得到其想要的指针 4.窗体、控件的指针和句柄的相互转化 (1)指针转化为句柄 MFC...应用程序中首先要获得窗体的指针,然后将其转化为句柄 CWnd* pWnd; HANDLE hWnd = pWnd->GetSafeHwnd(); (2)句柄转化为指针 MFC应用程序中首先获得对话框控件的句柄...(不论什么时候都能够用,仅仅要是MFC程序中) CWnd* pWnd = AfxGetMainWnd(); (2)获得对话框中控件指针 CWnd* pWnd = GetDlgItem(IDC_xxx...*GetWindow获得窗体指针,pWnd->m_hWnd(The handle of the Windows window attached to this CWnd)::FromHandle(hWnd

1.6K40

MFC进度条同步问题

在上述三个函数中, OnCreate()负责状态栏第一次被创建时接收控制,继而创建进度指示器并将它初始化为一个子窗口,它的实现代码如下: int CProgStatusBar::OnCreate(LPCREATESTRUCT...解决这个问题最简单的方法是调用CStatusBar::SetWindowText(NULL)函数显示进度指示器之前打扫一下环境卫生,清除以前的文本。   ...反之,当调用OnProgress(0)清除进度控制时也存在类似的问题,CProgStatusBar::OnProgress 隐藏进度控制后,状态栏第一个窗格该显示什么信息呢?...当应用程序不做任何事情时,MFC程序总是在这个位置显示资源串AFX_IDS_IDLEMESSAGE表示的文本,其缺省值为”就绪”,当然读者朋友们可以在当前项目的RC文件中任意修改这个值,不管怎样,MFC...如果你不想从文档发送Windows消息,可以用MFC的视图更新机制来做。你可以发明一个”暗示”代码以及一个小结构来保存进度百分比数据,并通过向框架发送MYWM_PROGRESS消息调用暗示信息。

1.1K10

MFC下面实际演示CCriticalSection 的使用

Q:CCriticalSection是什么? A:CCriticalSection是一种线程同步策略 或者说技术 或者方法 总之呢就是这么个意思。。。。...并运行 确定创建过程OK 第二步:视图类头文件里面添加头文件#include “afxmt.h” 并在视图类的实现文件里面实例化一个CCriticalSection对象。...CCriticalSection Gsz_CriticalSection; 第三步:视图里的实现文件里面 定义这两个函数。这两个函数带回会被指定为线程函数。这两个函数不是视图类的成员函数。...程序中的主框架类指针是一个常用作法 CWnd *pMainWnd = AfxGetMainWnd(); ::MessageBox(pMainWnd->m_hWnd, pMessage, _T("Thread...void CTestGszView::OnLButtonDown(UINT nFlags, CPoint point) { // TODO: 在此添加消息处理程序代码和/或调用默认值 AfxBeginThread

46620

MFC中注释含义

MFC 的浏览版本对于通过 MFC 调用结构本身进行跟踪非常有用。该目录中的 Readme.Txt 文件解释了如何使用此生成文件。...注意   大类(如 CDC 和 CWnd)的成员可能非常多,若只是一组中列出所有属性,对清楚地描述成员并没有多大帮助。在这种情况下,类库使用标头形式的其他注释来进一步描述成员。...// Operations 注释 MFC 类声明中的 // Operations 节包含成员函数;可以在对象上调用这些函数,以使该对象执行任务或执行操作。...例如,CWnd::Create 位于构造函数节中,因为使用 CWnd 对象之前,必须首先调用 C++ 构造函数,然后调用 Create 函数来“完整构造”它。这些成员通常是公共的。... MFC 本身中,纯虚函数总是放在此节中。

1.1K70

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

编译时我们向这个目标前进,首先证实了VC 6.0的确不能编译ARX 2004,之后发现VS .NET 2002编译出的动态库VC 6.0下不能正常使用,很可能是两种编译器产生的动态库导出函数命名规则不一样...3. const 问题 3.1 拷贝构造函数须声明为 XXX( const XXX& obj ) 3.2 声明这样的函数: void dosomething( const XXX*& ptr );调用的地方...VS .NET 2005之后已只支持这种写法,写会提示找不到头文件。它里面声明的函数和类型都在名字空间 std 下。 7. 字符串的使用 字符串使用问题有两种。...MFC提供的派生自CWnd的类,有很多统一的接口和数据结构。...ON_WM_CREATE()消息映射宏 该宏MFC头文件 afxmsg_.h 中定义: // Message map tables for Windows messages #define ON_WM_CREATE

24320

MFC原理第六讲.消息传递

MFC原理第六讲.消息传递 一丶简介       通过上一讲我们的消息映射表.我们得知....要学习的知识     1.窗口创建的流程.以及默认的回调函数     2.消息处理流程 二丶窗口创建的流程.以及默认的回调函数   我们要看窗口创建.那么就需要跟进 MFC源码去看....首先就是对我们的Create函数下断点.看一下做了什么事情. 进入Create函数内部....如果自己不处理.那么默认就调用 CWnd里面的消息处理函数了 而里面的 OnMsg函数同样也是一个虚函数. 如果不该写一样调用父类的 调试可以看一下. ? 只是部分代码截图.如果有兴趣可以深究....而我们的这个方法就是判断消息是什么类型的. 进行不同消息的处理. 如果说来的消息都不包括的话.那么下面就开始遍历消息映射表.然后进行消息查找. 完整代码 代码太多删减一下.

89610

基于消息的事件驱动机制(Message Based, Event Driven)

模型MFC程序中的应用 MFC(Microsoft Foundation Classes)是微软的基础类库,对大部分的Windows API进行封装,同时也是桌面软件的UI开发框架,下图是一个用VS2019...自动生成的MFC多文档应用。...不过现在MFC已经没落,除了历史项目,已经很少有新项目,采用MFC。下文会基于鼠标点击后完整的系统响应过程,说明该模型MFC中的体现。 ?...问题:为什么消息处理函数中不能做长耗时的任务? 消息泵处理消息时是依次处理,处理完一条消息后,再处理下一条消息。...中的消息处理映射表 如下代码中可以看到,WINDOWS消息WM_CREATE,对应的消息处理函数为OnCreate.当消息到达时,消息泵知道去调用OnCreate函数。

2.4K20
领券