OnCreate()和PreCreateWindow()函数的区别

本文详细解释了MFC中窗口创建过程中的两个关键函数PreCreateWindow()与OnCreate()的作用及区别。PreCreateWindow()负责窗口创建前的初始化设置,如同绘制建筑蓝图;OnCreate()则根据这些设置完成窗口的实际创建。
部署运行你感兴趣的模型镜像

在窗口的CWnd::Create()/CreateEx()调用返回前,要调用PreCreateWindow(),对Create()/CreateEx()中的风格参数进行预处理设置.之后调用OnCreate进行实际的窗口创建,返回后,Create()/CreateEx()也返回,窗口创建结束.

参看:MFC的窗口创建函数源代码:


PreCreateWindow()顾名思义就是在窗口创建之前执行的,它的主要任务是对所要创建的窗口进行一些风格或者其他方面的初始化或者说是设置,可以这么说,如果说窗口好比一栋建筑,那么PreCreateWindow()要做的就是在还没有建筑的时候将建筑的图纸画出来,而OnCreate()要做的就是根据图纸将建筑构建起来.


您可能感兴趣的与本文相关的镜像

GPT-SoVITS

GPT-SoVITS

AI应用

GPT-SoVITS 是一个开源的文本到语音(TTS)和语音转换模型,它结合了 GPT 的生成能力和 SoVITS 的语音转换技术。该项目以其强大的声音克隆能力而闻名,仅需少量语音样本(如5秒)即可实现高质量的即时语音合成,也可通过更长的音频(如1分钟)进行微调以获得更逼真的效果

在读取图片的框架搭建中使用了MFC(Microsoft Foundation Classes)框架中 CMainFrame 类的实现代码。 MFC(Microsoft Foundation Classes),是微软公司提供的一个类库(class libraries),以C++类的形式封装了Windows的API。其中包含的类包含大量Windows句柄封装类很多Windows的内建控件组件的封装类。MFC实际上就是由微软提供的,用于在C++环境下编写应用程序的一个框架引擎。 界面算法流程概述: 1. 使用了MFC 框架下的主窗口类 CMainFrame的构造函数创建窗口的函数。在构造函数中并没有做什么特别的事情,只有一个 TODO 注释。在 OnCreate 函数中,创建了一个工具栏一个状态栏,并加载了资源文件中的工具栏状态栏的图标文本。如果创建失败,则会返回 -1。 2. 实现MFC 框架中主窗口类 CMainFrame。其中,OnCreate函数在主窗口被创建后被调用,OnCreate函数启用了主窗口的 docking 功能,并将工具栏固定到窗口顶部。而 PreCreateWindow() 函数则是在主窗口被创建前被调用,它可以修改主窗口的样式属性。在这段代码中,PreCreateWindow() 函数并没有做任何修改,只是简单地返回 TRUE,表示主窗口可以被创建。 3. 运用了MFC 框架中 CImageProcessingApp 类的消息映射表,其中定义了两个命令的消息处理函数:OnAppAbout OnFileOpen。同时也继承了 CWinApp 中定义的三个命令:OnFileNew、OnFileOpen OnFilePrintSetup 的消息处理函数。这些消息处理函数将在相应的命令被触发时被调用,可以在其中编写相应的处理代码。 4. 在 MFC 应用程序中启用 3D 控件。在 MFC 应用程序中,如果使用共享 DLL,则应调用 Enable3dControls()。但如果使用静态链接,则应调用 Enable3dControlsStatic()。_AFXDLL是一个预处理器宏,用于指示 MFC 应用程序是使用共享 DLL 还是静态链接 MFC 库。如果定义了 _AFXDLL,则表示使用共享 DLL。如果未定义 _AFXDLL,则表
05-10
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值