Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2014, 12:10   #11
Виктор_Витебск
Пользователь
 
Регистрация: 17.04.2014
Сообщений: 17
Вопрос

Цитата:
Сообщение от evg_m Посмотреть сообщение
Код:
celltext:=.....
Canvas.brush.color:=... 
Canvas.Pen.color:=
Canvas.DrawText(celltext);
Написал это в StringGrid и получаю ошибку на каждом слове... В celltext что должно быть записано?...
Виктор_Витебск вне форума Ответить с цитированием
Старый 20.04.2014, 12:17   #12
Виктор_Витебск
Пользователь
 
Регистрация: 17.04.2014
Сообщений: 17
По умолчанию

Может типа так
Код:
StringGrid1.Cells[2,0]:='Ячейка 3';
StringGrid1.ColWidths[2]:='30';
надо писать? Но тоже ошибка.
Виктор_Витебск вне форума Ответить с цитированием
Старый 20.04.2014, 12:21   #13
Виктор_Витебск
Пользователь
 
Регистрация: 17.04.2014
Сообщений: 17
По умолчанию

Код:
procedure TForm12.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
var X: Real;
begin
with StringGrid1 do
  begin
   try
    X:=StrToFloat(Cells[ACol, ARow]);
    if X>0 then Canvas.Brush.Color:=clMenuBar;
    if X<0 then Canvas.Brush.Color:=clMenuBar;
    if X=0 then Canvas.Brush.Color:=clMenuBar;
   except
   end;
   Canvas.FillRect(Rect); //Òåêñò òîæå áóäåò çàêðàøåí, åãî íóæíî ïåðåðèñîâàòü:
   Canvas.TextOut(Rect.Left+2, Rect.Top+2, Cells[ACol, ARow]);
  end;
end;
и вот так не выходит
Виктор_Витебск вне форума Ответить с цитированием
Старый 20.04.2014, 12:24   #14
Виктор_Витебск
Пользователь
 
Регистрация: 17.04.2014
Сообщений: 17
По умолчанию

Код:
procedure TForm12.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
StringGrid1.Canvas.Brush.Color:=clRed;
if ((ACol=2)and(ARow=2)) then
  StringGrid1.Canvas.FillRect(Rect);
end;
такой просто не работает
Виктор_Витебск вне форума Ответить с цитированием
Старый 20.04.2014, 12:26   #15
Виктор_Витебск
Пользователь
 
Регистрация: 17.04.2014
Сообщений: 17
По умолчанию

точнее получилось, но ячейка закрасила и текст. это можно изменить?
Виктор_Витебск вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Stringgrid (Delphi 7) Елена93 Помощь студентам 1 19.11.2012 11:31
Stringgrid delphi Multiman Помощь студентам 5 21.09.2011 19:40
StringGrid в delphi TaYgA Помощь студентам 5 10.01.2010 13:23
Delphi StringGrid kGxDD Помощь студентам 2 19.10.2009 17:15
StringGrid (Delphi) VadEr Помощь студентам 4 09.06.2009 12:49