Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.147.73.35] |
|
Сообщ.
#1
,
|
|
|
Вообщем проблемка такая:
Есть список VST и я пытаюсь закрасить каждую строчку нужным цветом. Раскраска получается, но закрашивается строка по ширине где есть столбцы. Мне же нужно, чтобы окраска происходила по всей ширине VST. Закрашиваю так: procedure TfrmMain.vtTransactionsBeforeCellPaint(Sender: TBaseVirtualTree; TargetCanvas: TCanvas; Node: PVirtualNode; Column: TColumnIndex; CellPaintMode: TVTCellPaintMode; CellRect: TRect; var ContentRect: TRect); var NodeInfo: PTransaction; R: TRect; begin NodeInfo := Sender.GetNodeData(Node); R := CellRect; Dec(R.Top, 1); Dec(R.Bottom, 1); Dec(R.Left, 1); case NodeInfo^.tTypeId of TRANSACTION_TYPE_EXPENSE: begin TargetCanvas.Brush.Color := Settings.ExpenseColor; TargetCanvas.FillRect(R); end; TRANSACTION_TYPE_INCOME: begin TargetCanvas.Brush.Color := Settings.IncomeColor; TargetCanvas.FillRect(R); end; TRANSACTION_TYPE_TRANSFER: begin TargetCanvas.Brush.Color := Settings.TransferColor; TargetCanvas.FillRect(R); end; TRANSACTION_TYPE_DEBT: begin TargetCanvas.Brush.Color := Settings.DebtsColor; TargetCanvas.FillRect(R); end; end; end; Прикреплённый файл____________.JPG (44,9 Кбайт, скачиваний: 551) |
Сообщ.
#2
,
|
|
|
Если колонка последняя, то расширить R до правой границы
|
Сообщ.
#3
,
|
|
|
Цитата MBo @ Если колонка последняя, то расширить R до правой границы Попробовал, но не работает. Сделал R.Right := 9999 для пробы, также заливает только в пределах колонки. Возможно нужно использовать событие OnBackgroundPaint, но событие не срабатывает почему то. |
Сообщ.
#4
,
|
|
|
А если сделать пустую колонку справа?
|
Сообщ.
#5
,
|
|
|
Цитата MBo @ А если сделать пустую колонку справа? Придется еще мониторить ее размеры, чтобы если остальные колонки не шире самого VST, тогда подгонять ее размер так, чтобы не появлялся горизонтальный скрол, меня это не устраивает, ибо костыль. Хочется сделать правильно и красиво. |
Сообщ.
#6
,
|
|
|
Column.AutoSpring ?
|
Сообщ.
#7
,
|
|
|
Цитата Fr0sT @ Column.AutoSpring ? Не помогает |
Сообщ.
#8
,
|
|
|
Значит, неправильно готовишь. Мне помогает
|
Сообщ.
#9
,
|
|
|
Цитата Fr0sT @ Значит, неправильно готовишь. Мне помогает Не поделишься рецептом?) |
Сообщ.
#10
,
|
|
|
AutoSpring
|
Сообщ.
#11
,
|
|
|
Последнему столбцу делаешь Options.coAutoSpring=True, всё.
|