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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.10.2011, 22:39   #1
furstenberg
Форумчанин
 
Регистрация: 08.10.2007
Сообщений: 125
По умолчанию лишние символы в ячейке StringGrid при раскрашивании

Привет всем. Вот столкнулся с такой проблемой:
заношу в StringGrid цифровые данные , при превышении заданного уровня
соответствующая строка должна выделяться др цветом, делаю
так в TForm1.StringGrid1DrawCell:

Код:
if ( strtolb[Arow]<>'') AND  (Arow<>0)  then
if Arow=strtoint(strtolb[Arow]) then
 with TstringGrid(sender), canvas do
   begin //12
   brush.Color:=$004080FF;
   font.Color:=clBlack;
   Canvas.TextRect(Rect, Rect.Left + 2, Rect.Top + 2,Cells[1, 1]);
  TextOut(Rect.Left + 2, Rect.Top + 2, Cells[ACol,ARow]);
 // strtolb[Arow]:='';
  //FillRect(Rect);
   end ;  //12
При ракрашивании грида если строка подлежит закраске , то закрасить.
Так вот, при значениях <10 всё нормально, но если больше именно при раскраске в эти ячейки добавляются лишние нули. Если не раскрашивать ячейки всё нормально. Данные в ячейках SHOWMESSAGE(StringGrid1.Cells[1,2]) при этом без всяких нулей. Понятно, что дело в раскрашивании, но причём здесь двухразрядные цифры непонятно? Может кто сталкивался с подобной проблемой?

Последний раз редактировалось mihali4; 28.10.2011 в 01:01.
furstenberg вне форума Ответить с цитированием
Старый 28.10.2011, 01:06   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

У канваса нет свойства Cells...
Поэтому в соответствующих строках нужно явно указывать :
StringGrid1.Cells[ACol,ARow]...
mihali4 вне форума Ответить с цитированием
Старый 28.10.2011, 01:29   #3
furstenberg
Форумчанин
 
Регистрация: 08.10.2007
Сообщений: 125
По умолчанию

Можно чуть подробнее, а то я потыкался с этими ячейками, но ничего не получилось?
furstenberg вне форума Ответить с цитированием
Старый 29.10.2011, 11:46   #4
alex_sed
Пользователь
 
Регистрация: 06.10.2011
Сообщений: 11
По умолчанию

Код:
   Canvas.TextRect(Rect, Rect.Left + 2, Rect.Top + 2,Cells[1, 1]);
  TextOut(Rect.Left + 2, Rect.Top + 2, Cells[ACol,ARow]);
В эту ячейку ты выводишь два текста из Cells[1, 1] и Cells[ACol,ARow]
Убери один из них...
alex_sed вне форума Ответить с цитированием
Старый 29.10.2011, 13:53   #5
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Да пусть выводит что угодно, главное:
Canvas.TextRect(Rect, Rect.Left + 2, Rect.Top + 2, StringGrid1.Cells[1, 1]);
mihali4 вне форума Ответить с цитированием
Старый 29.10.2011, 14:06   #6
furstenberg
Форумчанин
 
Регистрация: 08.10.2007
Сообщений: 125
По умолчанию

А ведь точно. Спасибо за помощь.
furstenberg вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Лишние символы "снос строки" в сноске pdoronin Microsoft Office Word 23 26.12.2011 20:17
убрать лишние пробелы в конце фраз в ячейке Bape}l{ka Microsoft Office Excel 3 05.10.2011 13:02
При копировании текста из word в блокнот появляются лишние символы. paru10 Microsoft Office Word 2 11.02.2010 16:16