一、常用窗口类介绍
CWindow 类是ATL中最基本的窗口类,主要任务是保存一个HWND。可通过下列方式来获取CWindow对象并保存HWND:
1. 构造函数:CWindow(HWND hWnd = NULL);
2. 赋值运算符:CWindow& operator=(HWND hWnd);
3. Attach成员函数: void Attach(HWND hWndNew);
4. Create成员函数:HWND Create(...);
获取窗口句柄(HWND)方式:直接通过公共成员获取: m_hWnd = NewHWND; 或 通过HWND类型转换操作符获取:operatorHWND() const;
清除HWND方式: 手动清除成员: m_hWnd = NULL;
2. 使用Detach成员函数:inline HWND CWindow::Detach();
CWindow对象表示对HWND的包装,而不是窗口本身。CWindow的析构函数并不释放包装的窗口。当CWindow对象的HWND有效时,就可以使用其他的CWindow类成员函数。CWindow的用途是做所有User32API函数的包装类。对于每个以HWND为第一个参数的函数,CWindow类都有一个使用缓存m_hWnd的成员函数与之相对应。