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

  • 相关阅读:
    遍历系统进程
    AS3.0实现图像的扭曲
    CMainFrame, View, Doc, App之间的组织
    进程的创建
    自定义异常
    VC6.0快捷键(转载)
    WinMain与应用程序类之间的联系
    解决在Chrome下无法获取showModalDialog返回值的问题
    用js编解码base64
    根据一个绝对路径获取相对路径的方法
  • 原文地址:https://www.cnblogs.com/lidabo/p/3284655.html
Copyright © 2011-2022 走看看