This class provides methods for manipulating a window.
CWindow provides the base functionality for manipulating a window in ATL. Many of the CWindow methods simply wrap one of the Win32 API functions. For example, compare the prototypes for CWindow::ShowWindow and ShowWindow:
BOOL ShowWindow( int nCmdShow );
BOOL ShowWindow( HWND hWnd, int nCmdShow );
CWindow::ShowWindow calls the Win32 function ShowWindow by passing CWindow::m_hWnd as the first parameter. Every CWindow method that directly wraps a Win32 function passes the m_hWnd member; therefore, much of the CWindow documentation will refer you to the Windows SDK.
Not every window-related Win32 function is wrapped by CWindow, and not every CWindow method wraps a Win32 function.
CWindow::m_hWnd stores the HWND that identifies a window. An HWND is attached to your object when you:
Specify an HWND in CWindow's constructor.
Use CWindow's operator =.
Create or subclass a window using one of the following classes derived from CWindow:
CWindowImpl Allows you to create a new window or subclass an existing window.
CContainedWindow Implements a window contained within another object. You can create a new window or subclass an existing window.
CDialogImpl Allows you to create a modal or modeless dialog box.