通过查阅MSDN文档可知,Create函数的参数含义如下:
virtual BOOL Create(
LPCTSTR lpszCaption,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID
);
lpszCaption
指定按钮控件的文本。
指定按钮控件的样式。 适用于按钮样式的任意组合按钮。
指定按钮控件的大小和位置。 它可以是
CRect 对象或 RECT 结构。
指定按钮控件的父窗口,通常 CDialog。
不能为 NULL。
指定按钮控件的ID.
我就是说我在使用这个函数时碰到的问题:
(1)第一个参数是控件的文本,网上查的都是直接双引号的形式:“Window”,但是VS2013会报错,研究一下用TEXT("Window")即可
(2)在OnCreate方法内创建一个CButton对象btn,调用btn.Create方法创建按钮,运行,你会发现按钮并没有显示出来,这是为什么呢,因为我们创建的btn对象是一个局部变量,当OnCreate方法结束时候,btn析构,回收窗口资源,按钮销毁,因此我们要将CButton定义为全局变量
(3)我们调用btn的Create方法后还要调用ShowWindow方法才能将按钮显示出来,可以使用这种方法,在Create的第二个参数增加WS_VISIBLE类型即可
时间: 2024-12-16 06:09:02