MFC 定制控件(Customize Control) 及 MFC CWnd和WIN32 HWND关联方法

本文档详细介绍了MFC中定制自定义控件的三种方法:拥有者绘制、自绘制和动态子集化,并详细阐述了WM_MEASUREITEM、WM_COMPAREITEM、WM_DELETEITEM和WM_DRAWITEM等关键消息的作用。同时讨论了CWnd与WIN32 HWND关联的三种方式,强调动态子集化的优点和应用。
摘要由CSDN通过智能技术生成

MFC 定制控件(Customize Control) 及 MFC CWnd和WIN32 HWND关联方法

<参考资料 MSDN MFC TNO 15>

文档将概述MFC中定制自定义控件的3种方法:
拥有者绘制控件(Owner Drawing Control and Menu)   自绘制控件(self drawing control and menu)  和子集化(subclass)



1  使用MFC方法定制控件必备的几个基本概念:

控制定制风格的控件的几个标准Windows消息:
WM_MEASUREITEM
WM_COMPAREITEM
WM_DELETEITEM
WM_DRAWITEM
消息的详细说明:



1.1 WM_MEASUREITEM

当自绘制风格(owner draw)的控件(owner-drawn button, combo box, list box, list view control, or menu item)创建时控件的父窗体将受到这个消息用于定制控件的大小
 
WM_MEASUREITE
MidCtl = (UINT) wParam;//控件的标识
lpmis  = (LPMEASUREITEMSTRUCT) lParam;//控件的大小信息

消息处理的返回值:
当函数处理了这个消息必须返回TRUE


1.2 WM_COMPAREITEM
系统发送此消息用于设定一个需要排序的控件(如具有CBS_SORT风格的COMBOBOX,有LBS_SORT风格的LISTBOX)新插入项的位置信息

WM_COMPAREITEM
idCtl = w

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值