![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
StringGird pt3
Bobby Digital © (2005-01-21 20:11:00)Как мне расскрасить, серым цветом, нулевую строку в SringGrid (у SringGrid св-ва fixedRow и fixedCol равны 0), и сделать чтоб весь текст в нулевой строке был подчеркнутым.
Если можно то на примере, пример по адресу http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=988624493&n=17работет не так как мне надо, я еще новичек в Делфи, и пока не сталкивался с рисованием на компонентах, заранее спасибо.
Bobby Digital (2005-01-21 21:35:00) [1]спасибо ... я же не полный Ламер мне и первго варианта полне хватило
begin...end (2005-01-21 20:37:00) [2]Со мной сегодня определённо чего-то не так :-)))
Вот окончательный вариант:
procedure TForm.StringGridDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
with (Sender as TStringGrid), Canvas do
if ARow = 0 then
begin
if ACol = 0 then
Brush.Color := clSilver;
FillRect(Rect);
Font.Color := clRed;
Font.Style := [fsUnderLine];
TextOut(Rect.Left, Rect.Top, Cells[ACol, ARow])
end
end.
Всё... Пойду к экзамену готовиться...
begin...end (2005-01-21 20:28:00) [3]> Bobby Digital © (21.01.05 20:11)
А, извиняюсь. Ведь нужно, чтобы во всейнулевой строке текст был подчёркнутым.
Тогда так:
procedure TForm.StringGridDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
with (Sender as TStringGrid), Canvas do
if ARow = 0 then
begin
if ACol = 0 then
begin
Brush.Color := clSilver;
FillRect(Rect)
end;
Font.Color := clWhite;
Font.Style := [fsUnderLine];
TextOut(Rect.Left, Rect.Top, Cells[ACol, ARow])
end
end.
begin...end (2005-01-21 20:19:00) [4]> Bobby Digital © (21.01.05 20:11)
procedure TForm.StringGridDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
if (ACol = 0) and (ARow = 0) then
with (Sender as TStringGrid), Canvas do
begin
Brush.Color := clSilver;
FillRect(Rect);
Font.Color := clWhite;
Font.Style := [fsUnderLine];
TextOut(Rect.Left, Rect.Top, Cells[ACol, ARow])
end;
end.