int CDrawRectangleDlg::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CDialog::OnCreate(lpCreateStruct) == -)
return -; // TODO: 在此添加您专用的创建代码 CreateSolidCaret(,);
ShowCaret();
return ;
}

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()一样。

WM_CREATE是windows中一个窗口消息。

当一个应用程序创建窗口时,会通过消息处理函数。但是这个消息在CreateWindow函数返回之前被送到消息处理函数。

例如,当要获取系统的字体时,我们可以先向这个窗口发送 WM_CREATE消息,以后字体不会改变了,程序会保存这个系统字体的消息!以后就可以用这个字体了!

WM_CREATE返回值

类型为LRESULT

如果一个程序处理这个消息,它应当返回0以使得窗口的创建过程得以继续。如果对于这个消息程序返回-1,窗口将会被销毁,并且CreateWindowEx或者CreateWindow函数将会返回一个值为NULL的句柄。

CreateSolidCaret()函数

void CreateSolidCaret(int nWidth,int nHeight);

nWidth 指定插入符的宽度(逻辑单位),如果该参数值为0,那么系统将其设置为系统定义的窗口边界的宽度

nHeight 指定插入符的高度(逻辑单位),如果该参数值为0,那么系统将其设置为系统定义的窗口边界的高度

CreateSolidCaret函数创建插入符以后,该插入符初始时是隐藏的,必须调用ShowCaret函数来显示它。

最新文章

  1. seajs和requirejs
  2. iOSapp的json告示
  3. Restful是什么,SOAP Webservice和RESTful Webservice
  4. HashMap遍历
  5. wx菜单栏
  6. android 中怎么控制checkbox中文本与左侧box的距离
  7. HDU 2370 Convert Kilometers to Miles
  8. 发现SQL Server惊天大秘密!!
  9. 京东口红top 30分析
  10. consul实现分布式锁
  11. Xshell 连接虚拟机出现 "The remote SSH server rejected X11 forwarding request"
  12. 常用的Arrays类和二维数组以及二分法的介绍
  13. C - The kth great number 优先队列
  14. [APC001] D Forest
  15. 【Loadrunner】Loadrnner 参数化策略
  16. 一次 Java 内存泄漏排查过程,涨姿势
  17. 第四章 栈与队列(c1)栈应用:进制转换
  18. Liunx 硬盘分区
  19. 安装PYthon+Kivy环境(记录)
  20. Matplotlib风羽自定义

热门文章

  1. 【spring boot】注解@ApiParam @PathVariable @RequestParam三者区别
  2. 通过BSSID和无线流量传输后门Payload
  3. 步步为营(十六)搜索(二)BFS 广度优先搜索
  4. Android中怎样自己制作su
  5. IO模型:同步、异步、阻塞、非阻塞
  6. 走入asp.net mvc不归路:[4]说说Action有哪些常见成员
  7. C3P0连接池配置和实现详解(转)
  8. POJ--2284--That Nice Euler Circuit【平面图欧拉公式】
  9. 我为什么不喜欢 CoreData
  10. glib的安装(2)