如何将样式更改为已创建的列表控件?

问题描述

我已经创建了

 pMyListControl = new CListCtrl; 
    pMyListControl->Create(WS_CHILD| WS_VISIBLE | WS_VSCROLL | LBS_NOTIFY | LVS_REPORT | LVS_SINGLESEL,rect,pTabControl,LIST_ID);

在某些选项卡上,列表将只允许像上面的代码一样进行单项选择,但在某些选项卡上,它没有 LVS_SINGLESEL 以允许多个项目选择。 该列表是使用不允许多选的认选项卡创建的。

我可以更改样式,而不必根据我的选项卡选择创建新的 listcntrl 吗?有这个方法吗?

解决方法

您可以使用 CWnd::ModifyStyle() 方法,例如:

// turn on single selection
pMyListControl->ModifyStyle(0,LVS_SINGLESEL);

// turn off single selection
pMyListControl->ModifyStyle(LVS_SINGLESEL,0);