Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.13;
Скачать: CL | DM;

Вниз

TString   Найти похожие ветки 

 
Dudee ©   (2005-10-24 20:45) [0]

Подскажите пожалуйста, как в StringGrid"e изменить цвет конкретной ячейки и стиль, шрифт текста в ней.
Работаю с 8:00 до 23:00, поэтому времени копаться в книжках к сожалению нет :( Вся надежда на вас мастера


 
Карелин Артем ©   (2005-10-24 20:55) [1]

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
 Rect: TRect; State: TGridDrawState);
begin
if (ACol=2) and (ARow=3) then
begin
 StringGrid1.Canvas.Brush.Color:=clRed;
 StringGrid1.Canvas.FillRect(Rect);
 StringGrid1.Canvas.TextOut(Rect.Left,Rect.Top,"asda");
 StringGrid1.Canvas.Font.Style:=[fsBold];
end;
end;


 
Думкин ©   (2005-10-25 06:30) [2]

> Работаю с 8:00 до 23:00, поэтому времени копаться в книжках
> к сожалению нет

Есть замечательная история про Резерфорда и его аспиранта. Найдете время - прочтите.
В ту же тему: сколько нужно прапорщиков чтобы завернуть лампочку? А сколько тех кто как-то работает с 8 до 23 и нифига не читает? Где больше? Кто быстрее?
:(


 
Dudee ©   (2005-10-26 15:55) [3]

Спасибо Артём, всё, как я и думал, очень просто и классно работает. Просто не знал, что у StringGrid"a есть Canvas :(

А ты думкин очень смешной, чуть не обосался, когда читал твой ответ!!! Петросяну пора на пенсию >:(


 
msguns ©   (2005-10-26 17:48) [4]

Просто как пример. Колонки стрингрида красятся под некий DBGrid, при этом последняя стрка, итоговая, выделяется.

procedure TMainForm.sgrChartDrawCell(Sender: TObject; ACol, ARow: Integer;
 Rect: TRect; State: TGridDrawState);
begin
 if ARow>0 then
 with TStringGrid(Sender) do
   begin
    if (Tag>0) and (ARow=RowCount-1) then
       Canvas.Brush.Color := clBtnFace  // Режим вывода итоговой строки
    else
      if ACol<grAll.Columns.Count then
         Canvas.Brush.Color := grAll.Columns[ACol].Color
      else
         if ACol<20 then
            Canvas.Brush.Color := clMoneyGreen  // Доп.колонки гориз.итогов
         else
            Canvas.Brush.Color := clCream;        // Доп.колонки кон.остатков
    Canvas.TextRect(Rect,2,2,Cells[ACol,ARow]);
    Canvas.TextOut(Rect.Left+2,Rect.Top+2,Cells[ACol,ARow]);
   end;


 
Dudee ©   (2005-10-26 18:45) [5]

Спасибо msguns за примерчик


 
Dudee ©   (2005-10-26 18:46) [6]

Удалено модератором



Страницы: 1 вся ветка

Текущий архив: 2005.11.13;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.026 c
11-1111460155
stals
2005-03-22 05:55
2005.11.13
Еще один халявный вопрос :)


2-1130001463
qwerty2k3
2005-10-22 21:17
2005.11.13
Координаты на рабочем столе.


4-1125746538
psa247
2005-09-03 15:22
2005.11.13
DeleteMenu


2-1130285196
snowkam
2005-10-26 04:06
2005.11.13
как исключить ошибку


11-1110981835
Vladimyr
2005-03-16 17:03
2005.11.13
QueryEndSession - как чуток подождать?..