这里主要讨论函数Create和CreateEx。它们封装了Win32窗口创建函数::CreateWindowEx。Create的原型如下:
BOOL
CWnd::Create(LPCTSTR
lpszClassName,
LPCTSTR
lpszWindowName,
DWORD
dwStyle,
const
RECT&
rect,
CWnd*
pParentWnd,
UINT
nID,
CCreateContext*
pContext)
Create是一个虚拟函数,用来创建子窗口(不能创建桌面窗口和POP
UP窗口)。CWnd的基类可以覆盖该函数,例如边框窗口类等覆盖了该函数以实现边框窗口的创建,视类则使用它来创建视窗口。
Create调用了成员函数CreateEx。CWnd::CreateEx的原型如下:
BOOL
CWnd::CreateEx(DWORD
dwExStyle,
LPCTSTR
lpszClassName,
LPCTSTR
lpszWindowName,
DWORD
dwStyle,
int
x,
int
y,
int
nWidth,
int
nHeight,
很简单,你没有为你的类建立一个实例。比如你定义了一个MyClass类,
那么调用时就要这样:
MyClass theClass
theClass.你的函数();
另外,在你头文件中也必须有你定义的函数哦,如果正常,通常在你写theClass.时,SDK就会自动d出你定义的函数和变量。
如果是基于对话框的程序,可以在主对话框类定义函数。如果是基于视图的。那么可以把涉及程序基础信息处理的函数放在App类里,把涉及程序界面处理的函数放在CMainframe类里,把涉及程序显示的函数放在View类里,把涉及程序处理数据或文件的 *** 作放在Doc类里。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)