修复DUILIB ListEx多个时选择框乱选的BUG

listex 处理notify函数时没有判断此notify要不要处理

原代码为:

,相关case 替换为:

	    if(_tcsicmp(msg.sType, _T("listheaditemchecked")) == 0)
		{
			BOOL bCheck = (BOOL)msg.lParam;
			int  nIndex = msg.wParam;
            //判断是否是本LIST发送的notify
            CListHeaderUI* pHeader = GetHeader();
            for (int i = 0; i < pHeader->GetCount(); i++)
            {
                if (pHeader->GetItemAt(i) == msg.pSender)
                {
                    for (int i = 0; i < GetCount(); ++i) {
                        CControlUI* p = GetItemAt(i);
                        CListTextExtElementUI* pLItem = static_cast<CListTextExtElementUI*>(p->GetInterface(_T("ListTextExElement")));
                        if (pLItem != NULL) {
                            pLItem->SetCheck(bCheck);
                        }
                    }
                    break;
                }
            }
		}
		else if (_tcsicmp(msg.sType, DUI_MSGTYPE_LISTITEMCHECKED) == 0)
		{
            for (int i = 0; i < GetCount(); ++i) {
                CControlUI* p = GetItemAt(i);
                CListTextExtElementUI* pLItem = static_cast<CListTextExtElementUI*>(p->GetInterface(_T("ListTextExElement")));
                if (pLItem != NULL && pLItem == msg.pSender)
                {
                    OnListItemChecked(LOWORD(msg.wParam), HIWORD(msg.wParam), msg.lParam);
                    break;
                }
            }
		}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值