Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Шрифт заголовков груп в listview


Gu ©   (2010-12-06 08:35:00) 

Если listview заполнен итемами, то их цвет можно задать свойсвтом listview.font, цвет листвиева свойством listview.color. А как поменять фонт заголовков груп? т.е. все итемы еще имеют свой groupindex и группы нормально видно, когда по умолчанию listview.color=clwindow, а если делаю listview.color=clblack, то фон сливается. в listview1.Groups свойства font нет, также как и у отдельного listview1.Groups[1]

rad 2010


Дмитрий С   (2010-12-06 16:13:00) [1]

О, спасибо, может быть пригодится)


Gu   (2010-12-06 12:13:00) [2]

е!
заработало вот так

procedure TForm1.Button1Click(Sender: TObject);
const
LVM_FIRST = $1000;
 LVGMF_BORDERSIZE  = $00000001;
 LVGMF_BORDERCOLOR = $00000002;
 LVGMF_TEXTCOLOR   = $00000004;
   LVM_SETGROUPMETRICS    = LVM_FIRST + 155;

type
 tagLVGROUPMETRICS = packed record
   cbSize: UINT;
   mask: UINT;
   Left: UINT;
   Top: UINT;
   Right: UINT;
   Bottom: UINT;
   crLeft: COLORREF;
   crTop: COLORREF;
   crRight: COLORREF;
   crBottom: COLORREF;
   crHeader: COLORREF;
   crFooter: COLORREF;
 end;
 TLVGROUPMETRICS = tagLVGROUPMETRICS;

var   Infos: TLVGROUPMETRICS;
begin

   ZeroMemory(@Infos, SizeOf(Infos));

   Infos.cbSize := SizeOf(Infos);
   Infos.mask := LVGMF_TEXTCOLOR;
   Infos.crHeader := clred;

   SendMessage(listview1.Handle, LVM_SETGROUPMETRICS, 0, LPARAM(@Infos));

end;


Gu   (2010-12-06 12:13:00) [3]

тут еще инфа по заголовкам
http://forum.sources.ru/index.php?showtopic=240788


Gu   (2010-12-06 11:28:00) [4]

похоже эти заголовки откудато из винды затаскиваются (полосочка там синенькая) и тп. а вот перехватить и изменить никак. или хотябы сделать, чтобы на эти группы listview.font влиял..


Gu   (2010-12-06 11:25:00) [5]

не могли бы пример дать, я никак не могу понять, как в кустом драв определить, что именно заголовок группы отрисовывается в данный момент.

что интересно, есть еще jvListview (из набора jedi) и advlistview (из tms) там тоже везде цвет черный и не меняется, хотя свойства есть, и изменяются они примерно так (в jv)

...
   Infos.crHeader := GroupsProperties.HeaderColor;
   SendMessage(Handle, LVM_SETGROUPMETRICS, 0, LPARAM(@Infos));
..

но интересует стандартный листвиев, дайте пример с кустомдрав по группе, плз


QAZ   (2010-12-06 11:01:00) [6]

рисовать самому в кустомдрав,как душе угодно


Gu   (2010-12-06 08:41:00) [7]

выглядит так
http://s1.ipicture.ru/uploads/20101206/YVGv8MG1.png


Gu   (2010-12-06 08:37:00) [8]

да, и свойство listview.font.color на них почемуто не влияет.. всегда черные.


Наверх

Титульная страница Поиск, карта сайта Написать письмо