CWINDOW.H
资源名称:MSDN_VC98.zip [点击查看]
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:2k
源码类别:
Windows编程
开发平台:
Visual C++
- //+---------------------------------------------------------------------------
- //
- // Microsoft Windows
- // Copyright 1992 - 1997 Microsoft Corporation.
- //
- // File: cwindow.h
- //
- // Contents: definition of a virtual window class
- //
- // Classes: CHlprWindow
- //
- // Functions: WindowProc
- //
- // History: 4-12-94 stevebl Created
- //
- //----------------------------------------------------------------------------
- #ifndef __CWINDOW_H__
- #define __CWINDOW_H__
- #include <windows.h>
- #ifdef __cplusplus
- extern "C" {
- #endif
- LRESULT CALLBACK WindowProc(
- HWND hwnd,
- UINT uMsg,
- WPARAM wParam,
- LPARAM lParam);
- #ifdef __cplusplus
- }
- //+---------------------------------------------------------------------------
- //
- // Class: CHlprWindow
- //
- // Purpose: virtual base class for wrapping a window
- //
- // Interface: Create -- analagous to Windows' CreateWindow function
- // WindowProc -- pure virtual WindowProc for the window
- // ~CHlprWindow -- destructor
- // CHlprWindow -- constructor
- //
- // History: 4-12-94 stevebl Created
- //
- // Notes: This class allows a window to be cleanly wrapped in a
- // c++ class. Specifically, it provides a way for a c++ class
- // to use one of its methods as a WindowProc, giving it a "this"
- // pointer and allowing it to have direct access to all of its
- // private members.
- //
- //----------------------------------------------------------------------------
- class CHlprWindow
- {
- public:
- HWND Create(
- LPCTSTR lpszClassName,
- LPCTSTR lpszWindowName,
- DWORD dwStyle,
- int x,
- int y,
- int nWidth,
- int nHeight,
- HWND hwndParent,
- HMENU hmenu,
- HINSTANCE hinst);
- virtual LRESULT WindowProc(UINT uMsg, WPARAM wParam, LPARAM lParam) = 0;
- virtual ~CHlprWindow(){};
- HWND GetHwnd(void)
- {
- return(_hwnd);
- }
- CHlprWindow()
- {
- _hwnd = NULL;
- _hInstance = NULL;
- };
- protected:
- friend LRESULT CALLBACK ::WindowProc(
- HWND hwnd,
- UINT uMsg,
- WPARAM wParam,
- LPARAM lParam);
- HWND _hwnd;
- HINSTANCE _hInstance;
- };
- #endif
- #endif //__CWINDOW_H__