OnCreate 函数的说明
百科:
OnCreate是一个消息响应函数,是响应WM_CREATE消息的一个函数,而WM_CREATE消息是由Create函数调用的。
在view类中,Create 是虚函数由框架调用,是用来“生成一个窗口的子窗口”。 而OnCreate 函数是用来“表示一个窗口正在生成”。
一个窗口创建(Create)之后,会向操作系统发送WM_CREATE消息,OnCreate()函数主要是用来响应此消息的。因为在MFC里面用一种消息映射的机制来响应消息,也就是可以用函数来响应相应的消息。就拿CMainFrame类来说,当窗口创建后会产生WM_CREATE消息,我们可以在OnCreate函数里实现我们要在窗口里面增加的东西,例如按扭,状态栏,工具栏等。这些子窗口一般是定义成类中的一个成员变量,因为要保证生命周期。一般以m_开头来表示成员(member)。
OnCreate()不产生窗口,只是在窗口显示前设置窗口的属性如风格、位置等,Create()负责注册并产生窗口
Create()不是对应于消息WM_CREATE的,OnCreate()才是。Create()只用于产生窗口,像动态创建控件中的Create()一样。
关于OnCreate和OnDraw
初学MFC 刚开始,我在view类中的OnCreate()中写了一段向窗口中插入一个光标的代码,一切正常,然后又在OnDraw()中写了一段想窗口中插入一段字符的代码,也一切正常,但当我把这两个东西颠倒过来,也就是在OnCreate()中写插入一段字符的时候,运行是根本看不到效果,而在OnDraw()中写插入光标的时候,当我用鼠标改变窗口的大小的时候,程序就爆掉了,请问这是为什么?
首先你熟悉OnCreate()和OnDraw()函数的作用和用法,才能正确使用下面是他们的用法:OnCreate()是一个消息响应函数,是响应WM_CREATE消息的一个函数,而WM_CREATE消息是由Create函数调用的。在view类中,Create 是虚函数由框架调用,是用来“生成一个窗口的子窗口”。 而OnCreate 函数是用来“表示一个窗口正在生成”。一个窗口创建(Create)之后,会向操作系统发送WM_CREATE消息,OnCreate()函数主要是用来响应此消息的。因为在MFC里面用一种消息映射的机制来响应消息,也就是可以用函数来响应相应的消息。就拿CMainFrame类来说,当窗口创建后会产生WM_CREATE消息,我们可以在OnCreate函数里实现我们要在窗口里面增加的东西,例如按扭,状态栏,工具栏等。这些子窗口一般是定义成类中的一个成员变量,因为要保证生命周期。一般以m_开头来表示成员(member)。OnCreate()不产生窗口,只是在窗口显示前设置窗口的属性如风格、位置等,Create()负责注册并产生窗口OnDraw()函数每当窗口发生重绘时就会执行,它其实跟消息处理函数OnPaint()差不多。当在View类里添加了消息处理函数OnPaint()时,OnPaint()就会覆盖掉OnDraw()。用鼠标改变窗口的大小的时候,程序就爆掉这个应该是窗口重绘是有异常,有是编译程序是警告是不能忽略的,看看有什么警告把警告处理了。希望对你有所帮助!
OnCreate 函数的说明相关推荐
- create报错不是函数_创建空文档失败,OnCreate函数报错了吗
创建空文档失败,OnCreate函数出错了吗?int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CFrameWndEx::On ...
- OnCreate函数
OnCreate是一个消息响应函数,是响应WM_CREATE消息的一个函数,而WM_CREATE消息是由Create函数调用的. 在view类中,Create 是虚函数由框架调用,是用来"生 ...
- Android安全:onCreate()函数的Native化
Java 在Android开发一个Activity,常规Java写法如下: package com.zyc.oncreate2native;import androidx.appcompat.app. ...
- jadx重新打包_[原创]360加固之onCreate函数还原并重打包
断断续续弄360的壳子搞了个把月,把这次的成果分享给大家... 在还原之前,我们需要一份360加固的指令映射表,感谢https://bbs.pediy.com/thread-222412.htm这篇文 ...
- MFC的oncreate函数作用
百科: OnCreate是一个消息响应函数,是响应WM_CREATE消息的一个函数,而WM_CREATE消息是由Create函数调用的. 在view类中,Create 是虚函数由框架调用,是用来&qu ...
- MFC/Windows API 使用过的函数(持续更新)
1 /*******************使用默认画笔对象**************************** 2 // 3 //绘制矩形 4 pDC->MoveTo(50, 50); / ...
- Android在OnCreate中获取控件的宽度和高度
在Android中,有时需要对控件进行测量,得到的控件宽度和高度可以用来做一些计算.在需要自适应屏幕的情况下,这种计算就显得特别重要.另一方便,由于需求的原因,希望一进入界面后,就能得到控件的宽度和高 ...
- 360脱壳-native函数还原笔记-2017-06-25
本帖最后由 欧阳锋锋 于 2017-6-25 12:37 编辑 接触andorid逆向脱壳一段时间了,刚刚感觉开始入门,最开始时的过反调试,花费了大量的时间,但时间长了,汇编指令慢慢熟悉,学会了一些调 ...
- android获取自适应高度,Android中oncreate中获得控件高度或宽度的实现方法
Android中oncreate中获得控件高度或宽度的实现方法 onCreate函数只是提供了数据初始化的机会,此时还没有正式绘制图形.在图形尚未渲染的情况下,getWidth()或getHeight ...
最新文章
- 【每日一算法】移除元素
- html5和html的区别是什么(精问)
- js实现文件切片上传,断点续传
- MATLAB从入门到精通-如何在MATLAB中实现各种特殊上标?
- Python基础高级用法,必须要掌握的知识点
- Tensorflow2.6更新cuda11.2
- python实现人脸识别_python人脸识别代码实现丨内附代码
- wince linux 性能,wince remote call profiler(性能分析)
- 百度SEO站群易优CMS 聚合关键词seo插件(上权重神器)
- linux建立ftp用户
- Wine QQ2012 笔记
- DWG 、DXF格式互转、CAD版本转换,记住一个就能快速提高你的工作效率!
- 体育用品商城小程序开发功能
- 行业研究报告-全球与中国白光LED电子皮镜市场现状及未来发展趋势
- Python迭代器iter使用及python iter( )函数介绍
- shell wc (统计字符数量)的基本使用
- 如何将视频文件中的音频提取出来?
- 想知道自己30分钟能“走”多远嘛?
- Xilinx FPGA的专用时钟引脚及时钟资源相关
- C语言有关的大创项目,大创项目(开题报告)初稿.doc