![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Доброго времени суток)
У меня есть Таблица в Акцесе там есть три столбца Код, Название, Цвет Заполняется через форму в Delphi потом мне надо чтобы из столбца Цвет брался цвет и строка с этим цветом в гриде окрашивалась в этот цвет. Как это реализовать? |
|
#2
|
||||
|
||||
|
Обрабатывайте событие OnDrawDataCell. Примеров в гугле и на форуме полно.
|
|
#3
|
||||
|
||||
|
Цитата:
Почитал. В основном описывается что смена цвета происходит при каком-то действии. А мне надо просто чтоб он из столбца цвет брал... |
|
#4
|
|||
|
|||
|
в событии ondrawcell каждая клетка рисуется вручную при помощи canvas
Примеров в гугле и на форуме полно. |
|
#5
|
||||
|
||||
|
А можно переделать какнить этот код?
Цитата:
|
|
#6
|
|||
|
|||
|
PHP код:
|
|
#7
|
||||
|
||||
![]() Код:
procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
function ColorToBorderColor(AColor: TColor): TColor;
type
TColorQuad = record
Red,
Green,
Blue,
Alpha: Byte;
end;
begin
if (TColorQuad(AColor).Red > $c0) or
(TColorQuad(AColor).Green > $c0) or
(TColorQuad(AColor).Blue > $c0) then
Result := clBlack
else
Result := clWhite;
end;
begin
if not ClientDataSet1.FieldByName('Color').IsNull and not (gdSelected in State) then
begin
DBGrid1.Canvas.Brush.Color:=ClientDataSet1.FieldByName('Color').AsInteger;
DBGrid1.Canvas.Font.Color:=ColorToBorderColor(DBGrid1.Canvas.Brush.Color);
end;
DBGrid1.DefaultDrawDataCell(Rect, Field, State);
end;http://data.cod.ru/124672 |
|
#8
|
||||
|
||||
|
NumLock с этим кодом все записи становятся чёрными(
|
|
#9
|
||||
|
||||
|
Цитата:
|
|
#10
|
||||
|
||||
|
Цитата:
|
|
#11
|
||||
|
||||
|
Цитата:
|
|
#12
|
||||
|
||||
|
Цитата:
|
|
#13
|
||||
|
||||
|
Цитата:
Embarcadero RAD Studio XE Windows 7 64 bit Использую базы акцесса |
|
#14
|
||||
|
||||
|
|
|
#15
|
||||
|
||||
|
С самой программой всё нормально...
Но вот если всё сделать под мою программу тогда все записи становятся чёрными. |