CWindowImpl类
来源:互联网 发布:淘宝v4要花多少钱 编辑:程序博客网 时间:2024/05/02 11:12
这个类允许你创建一个新的窗口或使一个存在的窗口变成一个子类。CWindowImpl窗口程序使用消息映射来导向详细到响应的句柄。
template
< class T,
class TBase = CWindow,
class TWinTrait = CControlWinTraits >
class ATL_NO_VTABLE CWindowImpl :
public CWindowImplBaseT< TBase, TWinTraits >
参数:
T:你的类,继承自CWindowImpl
TBase:你类的基类,默认的类是CWindow
TWinTrait:一个定义你窗口风格的特性类。默认是CControlWinTraits.
备注:
Window CE支持一对新的窗口扩展风格,但其他的WINDOWS平台并不支持。同样Windows CE也不支持许多其他桌面平台上的窗口风格。这意味着你不能使用其他平台相同的标志类作为Create的参数dwStyle和dwExStyle的值。WindowCE也不支持标准的菜单条。
CWindowImpl::Create创建一个新的基于CWndClassInfo管理的窗口类消息的窗口。CWindowImpl包含
DECLARE_WND_CLASS宏,它意味着CWndClassInfo将注册一个新的窗口类。如果你想超类化一个存在的类,从CWindowImpl继承被包含DECLARE_WND_SUPERCLASS宏。这种情况下,CWndClassInfo将注册
一个基于存在的类的窗口类,但使用CWindowImpl::WindowProc作为处理函数。例如:
class CMyWindow : CComControl<CMyWindow>, ...
// CComControl derives from CWindowImpl
{
public:
// 1. The NULL parameter means ATL will generate a
// name for the superclass.
// 2. The "EDIT" parameter means the superclass is
// based on the standard Windows Edit box.
DECLARE_WND_SUPERCLASS(NULL, "EDIT")
...
};
因为CWndClassInfo 管理一个单个窗口类的信息,每个通过一个CWindowImpl实例创建的窗口都基于相同的窗口类。
CWindowImpl也支持窗口子类化。子类窗口方法附加一个存在的窗口到CWindowImpl对象并改变窗口处理程序为CWindowImpl::WvindowProc。每个CWindowImpl实例能够子类化一个不同的窗口。
对于任何给定的CWindowImpl对象,调用Create或SubclassWindow。你不应该同时调用这两个方法。
另外在CWindowImpl中,ATL提供CWindowImpl来创建一个包含其他对象的窗口。基类的析构函数确保window在对象被销毁之前无效。
CWindowImpl继承自CWindowImplBaseT,CWindowImplBaseT继承自CWindowImplRoot,CWindowImplRoot
继承字TBase和CMessageMap.
- CWindowImpl类
- CWindowImpl
- ATL中的CWindowImpl模板类
- CWindowImpl 的作用
- WTL 基础: CWindowImpl 发现
- 使用ATL::CWindowImpl实现Win32窗口
- 使用ATL::CWindowImpl实现Win32窗口
- ATL学习实践(VC8)-用CWindowImpl实现窗口
- 类
- 类
- 类
- 类
- 类
- 类
- 类
- 类
- 类
- 类
- How to setup a basic Struts project using Eclipse IDE
- 科长、流星、清洁、团结 ----- 科长
- IIS 错误代码大汇总
- 面试问题集合
- 天气
- CWindowImpl类
- 首次使用!
- SQL Server 2005与IBM DB2 v8.2之对比——Visual Studio和.NET开发人员的数据库平台(二)
- 使用Oracle9i的Flashback Query功能找回误删除的数据
- 程序设计之分类细化
- 20岁以下的参加超级女声, 20岁以上的在写博客
- 有事找我请在这留言。
- 使用開發工具出現該異常的情況總結
- java类得到汉字的首字符