![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
StringGrid [D6, D7, Win2k, WinXP]
AMD © (2004-11-28 15:45:00)Уважаемые мастера, помогите плиз. По умолчанию в компоненте StringGrid цвет выделения ячеек стоит синий, можно ли его изменить?
jack128 (2004-11-28 22:21:00) [1]есть, я ступил. просто если перекрывать этот метод, то при DefaultDrawing = True будет двойная отрисовка. Это меня и смутило.
GuAV (2004-11-28 21:28:00) [2]2 jack128 ©
В В5 нету OnDrawCell ?
jack128 (2004-11-28 21:21:00) [3]Говорю только о D5, в позних версиях может(я надеюсь) ситуация изменилась к лушему.
В принципе можно. Но переписывать предется ОЧЕНЬ(!!!) много. фактически весь метод Paint. см в методе TCustomGrid.Paint в процедуре DrawCells строки
with Canvas do
begin
Font := Self.Font;
if (gdSelected in DrawState) and
(not (gdFocused in DrawState) or
([goDrawFocusSelected, goRowSelect] * Options <> [])) then
begin
Brush.Color := clHighlight;// вот вместо этого нужно чтобы было, что нить типа Brush.Color := SelectedColor; Ну и цвет текста тож нужно изменитьт, чтобы был виден фоне..
Font.Color := clHighlightText;
end
else
Brush.Color := Color;
FillRect(Where);
end;