最近在做一个功能是:在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