窗口类、窗口类对象与窗口三者之间关系
2008-11-24 19:38:12 来源:WEB开发网很多开发人员都将窗口类、窗口类的对象和窗口之间的关系弄混淆了。为了使读者能更好地理解它们之间的关系,下面我们将模拟CWnd类的封装过程。首先新建一个Win32 Application类型的工程,取名为“WinMain”。在随后的向导窗口中选择创建一个空工程(即选择an empty project选项)。接着为该工程新建一个源文件WinMain.cpp。在该文件中,首先新建一个类CWnd,然后为其定义创建窗口函数(CreateEx)、显示窗口函数(ShowWindow)和更新窗口函数(UpdateWindow)三个函数,并定义一个成员变量(m_hWnd)。具体代码如例3-18所示。
例3-18
class CWnd
{
public:
BOOL CreateEx(DWORD dwExStyle, // extended window style
LPCTSTR lpClassName, // registered class name
LPCTSTR lpWindowName, // window name
DWORD dwStyle, // window style
int x, // horizontal position of window
int y, // vertical position of window
int nWidth, // window width
int nHeight, // window height
HWND hWndParent, // handle to parent or owner window
HMENU hMenu, // menu handle or child identifier
HINSTANCE hInstance, // handle to application instance
LPVOID lpParam); // window-creation data
BOOL ShowWindow(int nCmdShow);
BOOL UpdateWindow();
public:
HWND m_hWnd;
};
更多精彩
赞助商链接