![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 12.07.2010
Сообщений: 5
|
![]()
Добрый день, а быть может ночи!
![]() Может я Вам и покажусь лентяем, быть может уже где-нибудь была освещена данная проблема, но, я позволю себе повториться и спросить вновь: кто знает? ![]() Значит проблема вот в чем: создаю я небольшую базу данных, представление которой является список элемента StringGrid. А необходимо следующее: менять фон ячеек, но чтобы текст оставался виден!!! Я множество находил исходников, где было показано как менять цвет ячейки, но при изменении такового, текста видно не было, тобиш он просто закрашивался!!! Подскажите, плиз, каким образом это возможно реализовать, желательно с исходником!! Заранее всем благодарен, кто останется неравнодушен моей теме! ![]() P.S. Вот один из примеров: http://www.sql.ru/forum/actualthread.aspx?tid=152945 |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 29.09.2009
Сообщений: 587
|
![]()
а что если после того как вы поменяли цвет ячейки заново написать в нее текст
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 25.07.2009
Сообщений: 533
|
![]()
А почему БД и StringGrid? Почему не DBGrid?
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA) |
![]() |
![]() |
![]() |
#4 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Сначала выполняешь Canvas.FillRect(Rect) а уже потом желательно в самом конце этого обработчика пиши Canvas.TextOut(... тогда текст отрисуется поверх залитого.
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 13.07.2010
Сообщений: 346
|
![]()
действительно - поддерживаю rdama
а почему не DBGrid, в нём эсть событие OnDrawColumnCell которое предназначено для раскраски списка а в СтрингГриде при самопальной раскраске тебе придется вручную обсчитывать выравнивание текста, размер шрифта и т.п. ....
Non est culpa vin, sed culpa bibentis
|
![]() |
![]() |
![]() |
#6 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#7 | |
Форумчанин
Регистрация: 13.07.2010
Сообщений: 346
|
![]() Цитата:
но раскраску списка он делает прекрасно.
Non est culpa vin, sed culpa bibentis
|
|
![]() |
![]() |
![]() |
#8 |
Регистрация: 12.07.2010
Сообщений: 5
|
![]()
Быть может и стоит уйти от стринга!!
А в ДБГриде??? Все тоже?? Можете покидать примерчики, если несложно... ![]() |
![]() |
![]() |
![]() |
#9 |
Регистрация: 12.07.2010
Сообщений: 5
|
![]()
Точнее, как работать с ДБГридом, каким образом менять цвет...
Заранее благодарен неравнодушным!! |
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 13.07.2010
Сообщений: 346
|
![]()
procedure TForm1.DBGrid1DrawColumnCell(Sender : TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState); begin { в функцию передается: const Rect: TRect; - координаты ячейки для рисования DataCol: Integer; - номер колонки в гриде Column: TColumn; - указатель на саму колонку State: TGridDrawState - состояние ячей } // условие на проверку значения поля и его отрисовку // будем красить только поле с именем intField и типом integer // ну условие на твой вкус с учетом что можно и номер колонки сюда подключить if DataSet1['intField'] = 1 then begin // если текущая ячейка выделена if gdSelected in State then DBGrid1.Canvas.Brush.Color := clGreen // красим в зеленый else DBGrid1.Canvas.Brush.Color := clMoneyGreen; // иначе в салатовый // так-же делаем шрифт жирным DBGrid1.Canvas.Font.Style := [fsBold]; // и красным цветом DBGrid1.Canvas.Font.Color := clRed; // выполняем отрисовку DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State); // замечу что эту функцию надо вызывать если необходима отрисовка // если отрисовка ненужна - вызов ни к чему end end;
Non est culpa vin, sed culpa bibentis
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
StringGrid | SsdD | Помощь студентам | 2 | 03.05.2010 23:42 |
Подскажите что написать в пункте "Описание работы программы" курсовой работы | Marsel737 | Свободное общение | 3 | 14.01.2010 12:44 |
Для облегчения работы с TFS - приложение для работы над дефектами и задачами | Аякс | Софт | 1 | 18.03.2009 11:43 |
StringGrid | SergGhost | Помощь студентам | 2 | 29.10.2008 08:48 |
StringGrid | Dimon88 | Компоненты Delphi | 15 | 14.02.2008 11:44 |