Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / изменение цвета фона в QuantumGrid / 10 сообщений из 10, страница 1 из 1
13.08.2003, 11:51
    #32235124
Morfeuse
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменение цвета фона в QuantumGrid
подскажите как измененить цвета фона в QuantumGrid
...
Рейтинг: 0 / 0
13.08.2003, 12:17
    #32235183
Gluck99
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменение цвета фона в QuantumGrid
Если интересует Color строчки конкретной, то обработчик OnCustomDraw - в нем куча параметров (шрифт, цвет) для конкретного поля и для строки.
...
Рейтинг: 0 / 0
13.08.2003, 15:20
    #32235491
Morfeuse
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменение цвета фона в QuantumGrid
получается следующее

procedure TfmAutoBilling.gridDBTableView1CustomDrawCell(
Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
begin
// ????
end;

а конечная цель - изменить цвет фона всей строки в зависимости от содержимого конкретного поля - подскажи, плиз
...
Рейтинг: 0 / 0
13.08.2003, 15:27
    #32235506
Александр Б
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменение цвета фона в QuantumGrid
Примерно так :
procedure TMain.grdTradeCustomDrawCell(Sender: TObject; ACanvas: TCanvas;
ARect: TRect; ANode: TdxTreeListNode; AColumn: TdxTreeListColumn;
ASelected, AFocused, ANewItemRow: Boolean; var AText: String;
var AColor: TColor; AFont: TFont; var AAlignment: TAlignment;
var ADone: Boolean);
var
V: Variant;
C: TdxDBTreeListColumn;
begin
if ANode.HasChildren or ASelected then
Exit;

C:= (Sender as TdxDBGrid).ColumnByFieldName('oper_type');
V:= ANode.Values[C.Index];

if V = 'Покупка' then
AColor := clInfoBk;
if V = 'Продажа' then
AColor := clAqua;
if V = 'Зачисление' then
AColor := clLime
end;
...
Рейтинг: 0 / 0
13.08.2003, 15:47
    #32235543
Morfeuse
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменение цвета фона в QuantumGrid
у меня передается поменьше параметров
procedure TfmAutoBilling.gridDBTableView1CustomDrawCell(
Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);

а в примере
procedure TMain.grdTradeCustomDrawCell(Sender: TObject; ACanvas: TCanvas;
ARect: TRect; ANode: TdxTreeListNode; AColumn: TdxTreeListColumn;
ASelected, AFocused, ANewItemRow: Boolean; var AText: String;
var AColor: TColor; AFont: TFont; var AAlignment: TAlignment;
var ADone: Boolean);

где это Events находится ?
...
Рейтинг: 0 / 0
13.08.2003, 15:55
    #32235550
Александр Б
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменение цвета фона в QuantumGrid
У меня версия 3.2
Events там же, где всегда
...
Рейтинг: 0 / 0
13.08.2003, 16:21
    #32235605
Morfeuse
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменение цвета фона в QuantumGrid
не найду grdTradeCustomDrawCell никак :( - у меня только gridDBTableView1CustomDrawCell - а у него нет параметра AColor
подскажи пошагово где это, если еще не в облом
...
Рейтинг: 0 / 0
13.08.2003, 17:25
    #32235764
Александр Б
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменение цвета фона в QuantumGrid
grdTrade: TdxDBGrid; - это просто название моего grid'а
...
Рейтинг: 0 / 0
14.08.2003, 15:35
    #32236803
Андрей Бабенко
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменение цвета фона в QuantumGrid
Для 4-го грида (если просто цвет фона)можно воспользоваться cxStyleRepository

если в зависимости от значения - через OnCustomDrawCell, можно типа так:

var
ARec: TRect;
ATextToDraw: String;
val: string;

begin

ARec := AViewInfo.Bounds;
ACanvas.Canvas.Brush.Style := bsSolid;
SetBkMode(ACanvas.Canvas.Handle, TRANSPARENT);

ATextToDraw := AViewInfo.GridRecord.DisplayTexts[AViewInfo.Item.Index];

val := VarAsType(AViewInfo.GridRecord.DisplayTexts[TvoyField.Index], varString);

if val = 'Bla-Bla1' then
ACanvas.Canvas.Brush.Color := твой цвет1
else ACanvas.Canvas.Brush.Color := твой цвет2;

ACanvas.Canvas.FillRect(ARec);
ACanvas.DrawText(ATextToDraw, AViewInfo.Bounds, 0);

end;

А вообще посмотри пример CustomDrawTableViewDemo в поставке 4-го грида.
...
Рейтинг: 0 / 0
14.08.2003, 16:03
    #32236858
Morfeuse
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменение цвета фона в QuantumGrid
Спасибо всем ! разобрался !
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / изменение цвета фона в QuantumGrid / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]