|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
12.07.2010, 22:59 | #1 |
Регистрация: 12.07.2010
Сообщений: 5
|
Исскуство работы с StringGrid
Добрый день, а быть может ночи!
Может я Вам и покажусь лентяем, быть может уже где-нибудь была освещена данная проблема, но, я позволю себе повториться и спросить вновь: кто знает? Значит проблема вот в чем: создаю я небольшую базу данных, представление которой является список элемента StringGrid. А необходимо следующее: менять фон ячеек, но чтобы текст оставался виден!!! Я множество находил исходников, где было показано как менять цвет ячейки, но при изменении такового, текста видно не было, тобиш он просто закрашивался!!! Подскажите, плиз, каким образом это возможно реализовать, желательно с исходником!! Заранее всем благодарен, кто останется неравнодушен моей теме! P.S. Вот один из примеров: http://www.sql.ru/forum/actualthread.aspx?tid=152945 |
13.07.2010, 03:27 | #2 |
Форумчанин
Регистрация: 29.09.2009
Сообщений: 587
|
а что если после того как вы поменяли цвет ячейки заново написать в нее текст
|
13.07.2010, 06:04 | #3 |
Форумчанин
Регистрация: 25.07.2009
Сообщений: 533
|
А почему БД и StringGrid? Почему не DBGrid?
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA) |
13.07.2010, 08:41 | #4 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Сначала выполняешь Canvas.FillRect(Rect) а уже потом желательно в самом конце этого обработчика пиши Canvas.TextOut(... тогда текст отрисуется поверх залитого.
I'm learning to live...
|
|
13.07.2010, 08:48 | #5 |
Форумчанин
Регистрация: 13.07.2010
Сообщений: 346
|
действительно - поддерживаю rdama
а почему не DBGrid, в нём эсть событие OnDrawColumnCell которое предназначено для раскраски списка а в СтрингГриде при самопальной раскраске тебе придется вручную обсчитывать выравнивание текста, размер шрифта и т.п. ....
Non est culpa vin, sed culpa bibentis
|
13.07.2010, 09:03 | #6 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
13.07.2010, 10:02 | #7 | |
Форумчанин
Регистрация: 13.07.2010
Сообщений: 346
|
Цитата:
но раскраску списка он делает прекрасно.
Non est culpa vin, sed culpa bibentis
|
|
13.07.2010, 17:08 | #8 |
Регистрация: 12.07.2010
Сообщений: 5
|
Быть может и стоит уйти от стринга!!
А в ДБГриде??? Все тоже?? Можете покидать примерчики, если несложно... |
13.07.2010, 17:12 | #9 |
Регистрация: 12.07.2010
Сообщений: 5
|
Точнее, как работать с ДБГридом, каким образом менять цвет...
Заранее благодарен неравнодушным!! |
13.07.2010, 17:33 | #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 |