Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > TListView расстояния между элементами


Автор: MikeLevinN 16.11.2007, 12:06
У меня есть ListView, ViewStyle = vsIcon. Как мне можно сократить расстояние между элементами занесенными в ListView, я например хочу, что бы они максимально примыкали друг к другу. И ещё, как мне изменить расстояние от краев до элементов: я хочу сверху сделать отступ больше, а слева наоборот уменьшить.

?

Спасибо.

Автор: MikeLevinN 18.11.2007, 12:20
Наверное я не совсем хорошо описал ситуацию, поэтому для наглядности покажу картинку, левый ListView — текущая ситуация; правый — то, как мне нужно сделать.

user posted image

Автор: MikeLevinN 18.11.2007, 13:30
Сдвинуть расстояние между "иконками" и уменьшить расстояние от левой границы помогло — LVM_SETICONSPACING. Оно же: ListView_SetIconSpacing

Но вот что деалть с расстоянием от верхней границы? У меня идеи закончились.

Автор: MikeLevinN 18.11.2007, 16:13
Радость по поводу LVM_SETICONSPACING закончилась. В тестовом приложении не использовал манифест (XPMan), всё было ок. Добавил манифест, все начало работать не так как нужно. Мало того, что ListView_SetIconSpacing, стало работать не так, так ещё и мой собственный код отрисовки в OnCustomDrawItem отказался нормально функционировать.

Что происходит с TListView с примененим манифеста? Я смотрел код TListView из ComCtrls.pas, так там есть единственное место, которое связано с ThemeServices и избавление от этого места не приносит результата.

Что мне сделать?

Использую Win2003 без тем вообще.

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