在自绘控件中创建多个CButton按钮时,如果设置按钮的消息(使用ON_COMMAND_RANGE消息)

本文介绍如何在CListCtrl控件中任意位置添加CButton,并通过ON_COMMAND_RANGE消息处理用户点击事件,实现点击按钮后销毁该按钮的功能。文章详细解释了设置消息响应范围及处理函数的步骤。

最近在做一个功能是:在CListCtrl控件中的随意位置添加CButton按钮。并且点击按钮时,让按钮消失。

难点:主要是不知道需要创建多少个按钮,需要用户自己设置。

所以,使用ON_COMMAND_RANGE这个消息,可以让多个ID响应同一个消息。方便做处理

使用方式:

第一步:

要知道要响应的CButton的起始ID、结束ID。

假设现在起始ID = 1236 , 结束ID = 2000

ON_COMMAND_RANGE(1235,2000,OnCommandMy)

第二步:声明消息

afx_msg void OnCommandMy(UINT  nID );

第三步:定义该消息

void OnCommandMy(UINT nID)

{

//在这里面就可以做ID的消息处理了。我现在需要实现的功能是,按下按钮,销毁该按钮

switch(nID)

{

case  1236:

case 1237:

m_button->DestroyWindow();

}

}

*******************************

当我使用的时候,设置断点没有走入自定义的消息。从网上也没有找到合适的方法。

后来找到原因了。我把结束ID设置的太大了。最大到65535

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

糯诺诺米团

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值