![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
смена цвета в StringGrid
Андрей (начинающий) © (2008-11-22 11:14:00)Помогите, плиз.
Как в StringGrid одновременно с выделенной ячейкой закрасить вторую по моему желанию и текст в них вывести на новом фоне?
При смене фокуса на другую ячейку эти должны вернуть свой фон к первоначальному, а вторая пара сменить на новый фон.
Андрей (начинающий) (2008-11-22 21:37:00) [1]
> Leonid Troyanovsky
спасибо
Leonid Troyanovsky (2008-11-22 13:47:00) [2]
> Андрей (начинающий) (22.11.08 13:28) [7]
> К моему вопросу, вроде, не относится. Правда, я не просмотрел
> весь код ...
Ну, посмотри такой
http://groups.google.com/group/fido7.ru.delphi.chainik/msg/4b0da536f2681ffd
Вся сила в InvalidateCell, брат.
--
Regards, LVT.
AIK (2008-11-22 13:38:00) [3]
> Leonid Troyanovsky © (22.11.08 13:19) [5]
> > Андрей (начинающий) (22.11.08 11:58) [3] http://groups.
> google.com/group/borland.public.delphi.objectpascal/msg/b3374ec7d7299990
Это про сортировку
Андрей (начинающий) (2008-11-22 13:28:00) [4]
> Leonid Troyanovsky ©
Там, насколько я понял из задаваемого вопроса, приводится пример сортировки StringGrid по щелчку на заголовке?
К моему вопросу, вроде, не относится. Правда, я не просмотрел весь код ...
Андрей (начинающий) (2008-11-22 13:23:00) [5]
> 1. Кто тебя надоумил StrinGrid назвать sgSG1?
В программе они наз. по-другому.
Решил проблему обработкой значения ячеек в OnSelectCell и последующей прорисовкой в OnDrawCell.
Спасибо за отклики.
Leonid Troyanovsky (2008-11-22 13:19:00) [6]
> Андрей (начинающий) (22.11.08 11:58) [3]
http://groups.google.com/group/borland.public.delphi.objectpascal/msg/b3374ec7d7299990
--
Regards, LVT.
AIK (2008-11-22 12:53:00) [7]Ошибок вроде нет есть только не понятки
1. Кто тебя надоумил StrinGrid назвать sgSG1?
2. Процедура OnSelectCel здесь не имеет не какова смысла, все координаты выделенных ячеек обратно же присваиваются компоненту
Андрей (начинающий) (2008-11-22 11:58:00) [8]где здесь у меня ошибка?
procedure Tfrm1.sgSG1DrawCell(Sender: TObject; ACol,
ARow: Integer; Rect: TRect; State: TGridDrawState);
begin
if (gdSelected in State) then begin
sgSG1.Canvas.Brush.Color := clSkyBlue;
sgSG1.Canvas.FillRect(Rect);
end;
end;
procedure Tfrm1.sgSG1SelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
var
vGridRect : TGridRect;
begin
// выделяю вторую ячейку
vGridRect.Left:=ARow;
vGridRect.Right:=ARow;
vGridRect.Top:=ACol;
vGridRect.Bottom:=ACol;
sgSG1.Selection:=vGridRect;
end;
AIK (2008-11-22 11:24:00) [9]
> одновременно с выделенной ячейкой
Ах да чуть незабыл свойства onSelectCell.
AIK (2008-11-22 11:22:00) [10]Свойства onDrawCell + TCanvas (если что ещё F1 + google)