当前位置:   article > 正文

2402,窗口的子类化.

2402,窗口的子类化.

我想知道win32/mfc/atl中的子类化.请提供相同的链接.微软建议你不要子类化控件类.窗口负责它提供的控件,且控件的各个方面可能不断变化.

如果应用必须子类化窗口提供的控件,则在发布新版本的窗口时,你可能需要更新该控件.
我想知道上述内容是否表明我无法子类化编辑控件,即使我已从CEdit继承子类,有人可更好地解释或扩展以下在以下语句?

全局子类实例子类有相同的限制.
除非确切地知道原始窗口过程用法,应用不应试为类或窗口实例使用额外的字节.如果数据必须与窗口关联,应与实例子类一样使用窗口的属性列表.

它与MFC窗口子类化没有关系,因为MFC不使用额外的字节.某些子类化方案使用额外字节来存储"this"指针,但MFC为此使用外部映射(用CWnd*关联HWND).

它意思是,通过指定WNDCLASS::cbClsExtracbWndExtra及通过GetClassLong[Ptr]GetWindowLong[Ptr]访问来分配的所谓"额外字节".

用来附加与每个窗口或窗口类相关联的一些信息.即子类化窗口时,使用这些额外字节存储你自己的一些信息可能很诱人,但应抵制该诱惑,否则会影响该窗口正常运行的期望数据.
请改用窗口属性(见GetPropSetProp).本文并没有说不能子类化控件,而是说有一些技术障碍阻止你这样做.

它只是表明这不好.因为程序最终可能依赖特定控件实现细节,

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号