15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту


Как изменить стиль у объекта CListCtrl, принадлежащего к CListView (например установить стиль Report) ?

Для этого пишите в OnInitialUpdate вашего вида:

void CMyListView::OnInitialUpdate()
{
 ......
        CListView::OnInitialUpdate();

    CListCtrl& theCtrl = GetListCtrl();
    DWORD dwStyle=GetWindowLong(theCtrl.m_hWnd,GWL_STYLE);
    SetWindowLong(theCtrl.m_hWnd,GWL_STYLE,dwStyle|LVS_REPORT);
 ....

Другой способ: (by Pavel Nazin 2:5020/1053.21) Гоpаздо пpоще пеpекpыть PreCreateWindow (лучше всего воспользоваться ClassWizard-ом) и поковыpять пеpеданный по ссылке CREATESTRUCT типа такого:

BOOL CMyListView::PreCreateWindow(CREATESTRUCT& cs)
{
    cs.style|=LVS_REPORT;//так мы добавляем стиль
    cs.style&=LVS_REPORT;//а вот так снимаем

    return CMyListView::PreCreateWindow(cs);
}