subclassdlgitem 子类化一个MFC的基本控件


  subclassdlgitem
  该函数用来 子类化一个控件.
  Subclass( 子类化)是MFC中最常用的 窗体技术之一。 子类化完成两个工作:一是把 窗体类对象attach到一个windows窗体实体中(即把一个窗体的hwnd赋给该类)。另外就是把该类对象的消息加入到消息 路由中,使得该类可以捕获消息。
  SubclassDlgItem可以把对话框中已有的控件与某个 窗口对象动态连接起来,该窗口对象将接管控件的消息处理,从而使控件具有新的特性.SubclassDlgItem函数的声明为
  BOOL SubclassDlgItem( UINT nID, CWnd* pParent );
  参数nID是控件的ID,pParent是指向父窗口的 指针.若连接成功则函数返回TRUE,否则返回FALSE.
  综上所述,要在程序中使用派生控件,应该按下面两步进行:
  在对话框模板中放置好 基类控件.
  在对话框类中嵌入派生控件类的对象.
  在OnInitDialog中调用SubclassDlgItem将派生类的控件对象与对话框中的 基类控件相连接,则这个基类控件对象变成了派生控件对象

eg:   我们想将CBitmapButton 和CButton关联起来, 首先在对话框中加入CButton控件,然后在该对话框类的.h文件中加入CBitmapButton bitmapButt;变量,然后在对话框的 OnInitDialog中调用SubclassDlgItem将派生类的控件对象与对话框中的 基类 控件相连接,CBitmapButton bitmapButt;
bitmapButt.SubclassDlgItem(IDB_BUTTON,this);即可。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值