Форум программистов
 
О проблемах с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

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

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


Ответ
 
Опции темы
Старый 26.05.2011, 03:09   #1
ZBEP
Форумчанин
 
Аватар для ZBEP
 
Регистрация: 23.03.2009
Сообщений: 334
По умолчанию StringGrid не меняет цвет фона.

Делаю так:
Код:
procedure TForm8.YchGridDrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
StringGrid1.Canvas.Brush.Color := $00DCE9EB;
StringGrid1.Canvas.FillRect(Rect);
StringGrid1.Canvas.TextOut(Rect.Left + 2, Rect.Top + 2, StringGrid1.Cells[ACol, ARow]);
end;
В итоге закрашиваются только ячейки, а остальной фон - белый.
Как разукрасить фон "на котором нет ячеек" ?
ZBEP вне форума Ответить с цитированием
Старый 26.05.2011, 06:05   #2
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

У TStringGrid есть свойство Color.
Прик вне форума Ответить с цитированием
Старый 26.05.2011, 06:32   #3
ZBEP
Форумчанин
 
Аватар для ZBEP
 
Регистрация: 23.03.2009
Сообщений: 334
По умолчанию

Прик, есть то оно есть, но не работает, фон вне зависимости от выставленного цвета - белый.

П.с.
Delphi XE
ParentColor:=false
ZBEP вне форума Ответить с цитированием
Старый 26.05.2011, 07:19   #4
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,855
По умолчанию

события Onpaint не нашел, может где-то написать подобное:
Код:
grid.canvas.brush.color := $00DCE9EB;
grid.canvas.fillrect(grid.canvas.boundsrect);
для ячеек конечно ещё и Ondrawcell
пс в дельфи7 отлично красится грид свойством color и в дизайнтайм и рантайм
phomm вне форума Ответить с цитированием
Старый 26.05.2011, 07:24   #5
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

Цитата:
Сообщение от phomm Посмотреть сообщение
пс в дельфи7 отлично красится грид свойством color и в дизайнтайм и рантайм
Присоединяюсь. И в Д2009 и Д2010 точно так же.

Плюхи XE? Вряд ли. Хотя от чудес никто не застрахован
Прик вне форума Ответить с цитированием
Старый 26.05.2011, 08:37   #6
ZBEP
Форумчанин
 
Аватар для ZBEP
 
Регистрация: 23.03.2009
Сообщений: 334
По умолчанию

Мож корявое у меня XE, на ноуте так же на цвет не реагирует, ячейки красит, а фон нет(((

Ладн, получается либо сам ХЕ косячит, либо у меня глюкануло что-нить, переставлять неохота.
Если не в ХЕ дело, то странно, что на разных машинах результат такой же.
ZBEP вне форума Ответить с цитированием
Старый 26.05.2011, 13:52   #7
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Что тут сказать вот пример работы в D2007
Изображения
Тип файла: jpg Безымянный.JPG (17.2 Кб, 141 просмотров)
SERG1980 вне форума Ответить с цитированием
Старый 26.05.2011, 21:36   #8
ZBEP
Форумчанин
 
Аватар для ZBEP
 
Регистрация: 23.03.2009
Сообщений: 334
По умолчанию

Ну а вот так у меня:

Как видно - красятся только ячейки
Изображения
Тип файла: jpg Pr.JPG (23.4 Кб, 212 просмотров)
ZBEP вне форума Ответить с цитированием
Старый 27.05.2011, 07:26   #9
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Цитата:
Сообщение от ZBEP Посмотреть сообщение
Как видно - красятся только ячейки
Да что то и этого на видать
Выложите ваш проект с таким глюком если не трудно
SERG1980 вне форума Ответить с цитированием
Старый 27.05.2011, 07:31   #10
NitroSki
Давно не
Пользователь
 
Аватар для NitroSki
 
Регистрация: 19.05.2011
Сообщений: 58
По умолчанию С гридой-канва не работал, но принцип один и тот же

Код с имаджа - но принцип один и тот же

Переделай
============================
image1.canvas.Brush.Color:=clWhite;
image1.canvas.FillRect(rect(0,0,wid th,height));
============================

Попробуй прописать цвет через палитру красок (clЦвет);

StringGrid1.Canvas.Brush.Color :=clRed;

================================
И попробуй создать прямоугольник холста не как у тебя

StringGrid1.Canvas.FillRect(Rect);
=============================
А вот так
Stringgrid1.canvas.FillRect(rect(0, 0,width,height));

=================================== =======

Если ничем не помог - извиняйте
NitroSki вне форума Ответить с цитированием
Ответ
Купить рекламу на форуме 20000 рублей в месяц
Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Возможно изменить цвет фона при редактировании ячейки StringGrid ? PK.Kirill Общие вопросы Delphi 6 25.02.2013 16:27
при печати текст меняет цвет - баг CSS? Hail HTML и CSS 1 13.11.2009 10:50
Каким образом можно изменять цвет фона и цвет шрифта в Label? jungle Win Api 17 20.09.2009 23:38
Как с помощью JavaScript изменить цвет фона ячеек в таблице,так что бы можно было выбрать цвет из списка Gotessa JavaScript, Ajax 1 09.05.2009 15:05
SetBkColor не меняет цвет фона EdNovice Win Api 3 18.02.2008 23:59


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS