Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Покрасить Header у CListCtrl... нашел класс CSkinHeaderCtrl 
:(
    Опции темы
Torrero20
Дата 13.6.2006, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 17.4.2006

Репутация: нет
Всего: нет



Здравствуйте гопода хорошие... Такая трабла:
Нуна изменить цвет у заголовка ListCtrl'а... Надыбал класс CSkinHeaderCtrl и как положено перегрузил PreSubclassWindow у собственного класса наследника от CListCtrl'а. В общем вот: 

Код

void CFolderViewListCtrl::PreSubclassWindow()
{    
     if(GetHeaderCtrl())
        m_SkinHeaderCtrl.SubclassWindow( CListCtrl::GetHeaderCtrl()->m_hWnd );

     CListCtrl::PreSubclassWindow();    
}


Вся проблема в том что изменился Header у совсем другого ЛистКонтролла в другом 
CFormView. (Главное окно разделено на 4 CView'а,  сплитерами). А как мне изменить нужный хэадер именно в собственном классе CFolderViewListCtrl не знаю... Памагите... плз... 
PM MAIL   Вверх
Earnest
Дата 13.6.2006, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Не понятно, что все-таки у тебя произошло:
- нужный хедер не изменился, но зато изменился другой...
- оба хедера изменились.
?
В первом случае - явный баг, или ты что-то не понимаешь.
Во втором - нужно смотреть что именно делает CSkinHeaderCtrl - может он у всех лист-контролов в процессе класс хедера подменяет... Тогда придется тебе ручками самому делать... 


--------------------
...
PM   Вверх
Torrero20
Дата 14.6.2006, 07:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 17.4.2006

Репутация: нет
Всего: нет



Нет... Ну что, я что то не понимаю - это точно, иначе бы на писал... :-)
А у меня первый случай... Изменился совсем другой хэадер, у другого ЛистКонтролла. А листконтрол который нужно, ни в какую...

В главном окне,у меня два окна  CView и CViewForm разделенных сплиттером.
В одном FolderListControl - мой перегруженный класс от ListControl'а имменно его Header я и пытаюсь изменить (код выше).... А в другом простой ListControl - у него заразы Хэадер ни стого ни с сего изменяеться! грустно... :-( 
PM MAIL   Вверх
Earnest
Дата 14.6.2006, 08:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



А изменяется он именно так, как ты хотел, чтобы изменился FolderListControl?
Чудеса просто. Видимо нужно смотреть как в твоем коде, так и в этом SkinHeader...
Сократи код до минимума (только чтобы ошибка осталась) и выкладывай, лучше в виде проекта. 


--------------------
...
PM   Вверх
Torrero20
Дата 16.6.2006, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 17.4.2006

Репутация: нет
Всего: нет



Пасибулины большие за поддержку и внимание... Сам разобрался. Когда код чистить начал... Ошибки ни какой не было (сам балбес). Оба листа были одинакового типа FolderListCtrl. А второй не перерисовывался потому что создавался динамически в отличие от первого и функция PreSubclassWindow у него хоть и вызывалась но как то рановато... :-) 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.2014 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.