zoukankan      html  css  js  c++  java
  • mfc subclasswindow attach setwindowlong使用区别

    1、

    CWnd::Attach

    BOOL Attach( HWND hWndNew );

    返回值:如果成功,则返回非零值;否则返回0。

    参数: hWndNew 指定了Windows窗口的句柄。  

    说明:将一个Windows窗口与CWnd对象相连接。

    CWnd::SubclassWindow

    BOOL SubclassWindow( HWND hWnd );

    返回值:如果函数成功,则返回非零值;否则返回0。

    参数: hWnd 窗口句柄。  

    说明:
    调用这个成员函数以动态子类化一个窗口,并将它与这个CWnd对象相连接。当窗口被动态子类化时,窗口消息将通过CWnd的消息映射,并首先调用CWnd类中的消息处理函数。发送给基类的消息将被传递给窗口的缺省消息处理函数。
    这个成员函数将Windows控件与CWnd对象连接起来,并替换窗口的WndProc和AfxWndProc函数。这个函数在CWnd对象中保存旧的WndProc的指针。

    SetWindowLong 修改窗口的属性.

    2、

    SubClassWindow、SubClassDlgItem这两个约等于,类似包装,方便使用
    DDX会调用SubClassWindow,SubClassWindow会调用Attach
    最终的目的是绑定控件和你的衍生类

    我最常用的当然是DDX,系统自己搞定,自己不写代码
    然后是SubClassWindow/Attach,视情况调用Unsub/Untach
    SubClassDlgItem更少用

    一般用在Oninitdialog

  • 相关阅读:
    再叙存储设备
    分布式文件系统---测试
    分布式文件系统
    Solr 分布式(复制)配置--成功验证
    搜索服务之离线处理思路
    我为公司做的总体架构,欢迎提建议
    python的面向对象
    python异常处理
    迭代器和生成器
    python函数
  • 原文地址:https://www.cnblogs.com/lidabo/p/3284655.html
Copyright © 2011-2022 走看看