温馨提示×

CListBox无法用ModifyStyle修改LBS_MULTIPLESEL属性

小云
77
2023-08-07 14:15:51
栏目: 编程语言

CListBox控件的ModifyStyle函数无法直接修改LBS_MULTIPLESEL属性。如果要添加或删除LBS_MULTIPLESEL属性,需要使用ModifyStyleEx函数来修改扩展样式。

以下是一个示例代码:

CListBox* pListBox = (CListBox*)GetDlgItem(IDC_LISTBOX); // 获取CListBox控件的指针
DWORD dwStyle = pListBox->GetStyle(); // 获取当前控件样式
DWORD dwExStyle = pListBox->GetExtendedStyle(); // 获取当前控件的扩展样式
// 添加LBS_MULTIPLESEL属性
dwExStyle |= LBS_MULTIPLESEL;
pListBox->ModifyStyleEx(0, LBS_MULTIPLESEL);
// 删除LBS_MULTIPLESEL属性
dwExStyle &= ~LBS_MULTIPLESEL;
pListBox->ModifyStyleEx(LBS_MULTIPLESEL, 0);

注意,修改控件样式后,可能需要调用Invalidate函数来刷新控件的显示。

0