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

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

Как закрасить опр. ячейку в StringGride или DrawGride опр. цветом [D6]


maxim2 ©   (2002-10-28 08:19:00) 

Привет всем!
Подскажите кто знает, а то никак.


maxim2   (2002-10-28 09:43:00) [1]

Сенкс, все получилось.


Separator   (2002-10-28 09:37:00) [2]

procedure TForm1.StringGrid1Click(Sender: TObject);
var
Text: string;
Rect: TRect;
begin
if ColorDialog1.Execute then
with (Sender as TStringGrid) do
begin
Text:= Cells[Col, Row];
Rect:= CellRect(Col, Row);
with (Sender as TStringGrid).Canvas do
begin
Brush.Color:= ColorDialog1.Color;
FillRect(Rect);
TextOut(Rect.Left + 1, Rect.Top + ((Rect.Bottom - Rect.Top - TextHeight(Text)) div 2), Text);
end;
end
end;

и DefaultDrawing:= false, но придётся самому обрабатывать OnDrawCell


maxim2   (2002-10-28 09:11:00) [3]

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


Separator   (2002-10-28 08:30:00) [4]

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
Text: string;
begin
Text:= (Sender as TStringGrid).Cells[ACol, ARow];
with (Sender as TStringGrid).Canvas do
begin
Brush.Color:= clBlue;
FillRect(Rect);
TextOut(Rect.Left + 1, Rect.Top + ((Rect.Bottom - Rect.Top - TextHeight(Text)) div 2), Text);
end
end;


MBo   (2002-10-28 08:22:00) [5]

OnDrawCell+Separator © (28.10.02 08:20)


Separator   (2002-10-28 08:20:00) [6]

FillRect


Наверх

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