Подскажите пожалуйста.В listview в основном item заголовок смещен влево и его не видно.Как сделать чтобы заголовок был по центру ни зависимо от ширины колонки. И ещё проблема с сортировкой (стиль LVS_SORTASCENDING ) в item сортировка проходит нормально.А в subitem не отображается новая запись.
Если речь идёт о заголовке listview то получи его функцией ListView_GetHeader, а потом добавь стиль HDF_CENTER. Вообще: с терминологией поконкретней - что собственно не так? Что за основной item заголовок? Какой номер колонки?(с 0-ым могут быть проблеммы)
1. Код (Text): LVCOLUMN lvc; lvc.mask = LVCF_FMT|LVCF_TEXT; lvc.fmt = LVCFMT_CENTER; lvc.pszText = "Header"; SendMessage(..., LVC_INSERTCOLUMN, ...); msdn: 2. Используешь счетчик цикла в качестве индекса итема? Код (Text): int ItemIndex; for () { // заполняем структуру LVITEM для очередного итема ItemIndex = SendMessage(..., LVM_INSERTITEM, ...); // заполняем структуру LVITEM для сабитема. // LVITEM.iItem присваиваем не значение счетчика цикла, а ItemIndex, // так как в сортированном списке индекс итема после вставки будет отличаться от того, // который указан в LVITEM.iItem перед вставкой. SendMessage(..., LVM_SETITEMTEXT, ...); }
1. Добавить 0-ю колонку, настройки значения не имеют. 2. Добавить 1-ю с нужным выравниванием. 3. Потом 0-ю удалить (LVM_DELETECOLUMN), а дальше добавлять все остальные как обычно Вырезка с мсдн которую привёл rmn говорит приблизительно об этом. Для ленивых: в гугле строчку "стиль LVCFMT_LEFT" и первый пост. Чловек на rsdn задал похожий вопросс.
Извините,но может кто подскажет как добавлять иконки в listview?В поисковике искал но не нашел для masm.
zxcc а какая разница, для masm или нет? Сначала создаешь Image List (ImageList_Create) и заполняешь его иконками. Потом отправляешь списку LVM_SETIMAGELIST и при добавлении элементов в список указываешь в LVITEM.iImage индекс нужной иконки в созданном Image List. И не забываем флаг LVIF_IMAGE в LVITEM.mask указать...