Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > иконки у CHeaderCtrl


Автор: DENNN 21.5.2003, 18:09
Win2000 VC 6.0
Есть CListCtrl в режиме таблицы
У него задано некоторое количество колонок, для каждой колонки задан текст (заголовок) и вид выравнивания как LVCFMT_LEFT

теперь вызываю:
Код

CHeaderCtrl* head=m_list.GetHeaderCtrl();
if (head!=NULL)
{
 CImageList* pImglst=.....//здесь создается ImageList через new и инициализируется картинками
 head->SetImageList(pImglst);
 HDITEM hdHeadItem;memset(&hdHeadItem,0,sizeof(hdHeadItem));
 hdHeadItem.mask=HDI_IMAGE;
 for (ште i=0; i< head->GetItemCount(); i++)
 {
  hdHeadItem.iImage=columnimageindex[i];//массив с номерами изображений
  head->SetItem(i,&hdHeadItem);
 }
}

pImglst создается верно а значения в columnimageindex вбиты правильно. Это точно, потому что такие же функции я использую и в други частях программы -там все OK.

В дебагере просматриваю каждый шаг: все создается корректно и возвращаемые значения всех вызываемых функций показывают что вызовы прошли успешно.

Но на экране никаких картинок нет.
Может быть Win2000 не умеет отображать в CHeaderCtrl картинки?

Автор: Step 22.5.2003, 08:26
может после инециализации картинок, надо перерисовать объект, или возможно в листконтроле надо выбрать режим отображения с картинками.....

Автор: DENNN 22.5.2003, 09:22
Окно свернул и развернул - вроде это вызвает перерисовку? Ничего не происходит.
Не у CListCtrl не у HedearCtrl не нашел какого-то стиля, включающего отображение картинок.
Только если OWNERDRAW сделать sad.gif

Автор: Step 22.5.2003, 09:26
LVS_ICON

Автор: DENNN 22.5.2003, 09:57
smile.gif Это означает режим отображения в виде иконок у листконтрола.
А я пытаюсь добавить картинку к заголовку, который отображается в режиме LVS_REPORT smile.gif
Как в експлорере view->details появляется сверху заголовок, у него колонки в виде кнопок, к ним я и хочу добавить изображение. Если верить мсдн то это раз плюнуть. smile.gif
Ведь у TabCtrl картинки добавляються.

Автор: Step 22.5.2003, 10:12
чето я там иконок не увидел на кнопках

Автор: DENNN 22.5.2003, 10:23
smile.gif МС поленилось smile.gif

Уже все выяснил:
как не страннно, но ImageList надо прицеплять не к хедеру, а к самомо ListCtrl, а при добавлении колонки указывать номер изображения

Автор: Step 22.5.2003, 10:28
поздровляю

Автор: Allest 22.5.2003, 12:16
Как сделать чтобы у картинок отображаемых в заголовке фон соответствовал цвету заголовка?

P.S.
Цитата
как не страннно, но ImageList надо прицеплять не к хедеру

А у меня прикрепляется именно к хедеру. (без MFC)

Автор: Step 22.5.2003, 15:55
надо фон картинки правельно выставлять

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)