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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.02.2013, 18:17   #1
Ягодка
Пользователь
 
Аватар для Ягодка
 
Регистрация: 11.02.2013
Сообщений: 32
Радость Delphi 7 - StringGrid - изменить цвет шрифта при выполнении условия

Добрый вечер, уважаемые программисты!
В StringGrid выводятся результаты работы программы:
5.png
Как сделать так, чтобы "надёжные" поставщики выделялись зелёным цветом (вся строка-и название, и результат....), а "ненадёжные" - красным (соответственно, тоже вся строка)?
Пробовала по событию OnDrawCell написать условие: если ='надёжный', то font.color:=clGreen, но ничего не происходит, шрифт всё равно остаётся чёрный
Ягодка вне форума Ответить с цитированием
Старый 22.02.2013, 18:32   #2
ReportCube
Форумчанин
 
Аватар для ReportCube
 
Регистрация: 11.03.2011
Сообщений: 426
По умолчанию

Где пример обработчика OnDrawCell?
ReportCube вне форума Ответить с цитированием
Старый 22.02.2013, 18:36   #3
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

http://delphiworld.narod.ru/base/col...in_dbgrid.html
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 22.02.2013, 19:06   #4
Ягодка
Пользователь
 
Аватар для Ягодка
 
Регистрация: 11.02.2013
Сообщений: 32
По умолчанию

Цитата:
Сообщение от ReportCube Посмотреть сообщение
Где пример обработчика OnDrawCell?
procedure TForm1.StringGrid8DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
if (StringGrid8.Cells[ACol,2] = 'Ненадёжный') then
StringGrid8.Canvas.Brush.Color := clRed Else
StringGrid8.Canvas.Brush.Color := clGreen;

StringGrid8.Canvas.FillRect(Rect);
StringGrid8.Canvas.Font.Color:=clWh ite;
StringGrid8.Canvas.TextOut(Rect.Lef t, Rect.Top, StringGrid8.Cells[ACol, ARow]);
end;
Результат:
7.png
Ягодка вне форума Ответить с цитированием
Старый 22.02.2013, 19:11   #5
ReportCube
Форумчанин
 
Аватар для ReportCube
 
Регистрация: 11.03.2011
Сообщений: 426
По умолчанию

Иначе говоря: если в любой колонке во второй строке 'Ненадёжный', то...
ReportCube вне форума Ответить с цитированием
Старый 22.02.2013, 19:17   #6
Ягодка
Пользователь
 
Аватар для Ягодка
 
Регистрация: 11.02.2013
Сообщений: 32
По умолчанию

Код:
if (StringGrid8.Cells[2, aRow] = 'Ненадёжный') then
Результат:
9.png
А как сделать, чтобы ячейки были белыми, рамки-черными, и ТОЛЬКО ТЕКСТ был цветным?
Ягодка вне форума Ответить с цитированием
Старый 22.02.2013, 19:20   #7
ReportCube
Форумчанин
 
Аватар для ReportCube
 
Регистрация: 11.03.2011
Сообщений: 426
По умолчанию

StringGrid8.Canvas.Font.Color :=
ReportCube вне форума Ответить с цитированием
Старый 22.02.2013, 19:27   #8
Ягодка
Пользователь
 
Аватар для Ягодка
 
Регистрация: 11.02.2013
Сообщений: 32
По умолчанию

Код:
procedure TForm1.StringGrid8DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
If (ACol=0) Or (ARow=0) Then Exit;
  if (StringGrid8.Cells[2,ARow] = 'Ненадёжный') then
  StringGrid8.Canvas.Font.Color := clRed Else
  StringGrid8.Canvas.Font.Color := clGreen;
  StringGrid8.Canvas.FillRect(Rect);
  StringGrid8.Canvas.TextOut(Rect.Left, Rect.Top, StringGrid8.Cells[ACol, ARow]);
end;
77.png
Ребятки, всем огромное спасибо за помощь! =*
И с наступающим праздником! Побед вам во всём!
Ягодка вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Возможно изменить цвет фона при редактировании ячейки StringGrid ? PK.Kirill Общие вопросы Delphi 6 25.02.2013 17:27
Как скрыть строку при выполнении условия в другой ячейке Алексей777 Microsoft Office Excel 4 09.12.2010 10:06
Вывести данные первой ячейки столбца при выполнении условия kipish_lp Microsoft Office Excel 7 17.03.2010 14:44
Удалить строку листа Excel при выполнении условия Gennady Microsoft Office Excel 14 18.12.2007 13:54
Как изменить цвет шрифта кнопки + объявление OnClick Yury Общие вопросы Delphi 7 04.05.2007 04:55