![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Доброго времени суток!
Суть в следующем: есть несколько закрашенных столбцов в DBGrid Код:
procedure TfmChild1.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
var holdColor: TColor;
begin
holdColor := DBGrid1.Canvas.Brush.Color; {ñîõðàíÿåì îðèãèíàëüíûé öâåò}
if Column.FieldName = 'Strich' then
begin
DBGrid1.Canvas.Brush.Color := rgb(254, 207, 203);
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
DBGrid1.Canvas.Brush.Color := holdColor;
end;Но при этом нужно выделить текущую строку синим цветом, для этого выбираю RowSelect True, в результате выделяются только НЕЗАКРАШЕННЫЕ ячейки... помогитерешить проблему! |
|
#2
|
|||
|
|||
|
Всем здравствуйте! А что, чатилка здесь не посещается?
Хотелось бы реального(runtime) общения. поставил вопрос в чате, а тама никого... [Polus39] 11:57:34: Проблемка в следующем: Хочу передать двумерный массив WideString как параметр процедуры [Polus39] 12:00:08: Дельфи7 ругается в процессе обработки процедуры - кричит, что параметр WideChar [Polus39] 12:01:24: Кто-нить сталкивался? [Polus39] 12:02:41: чо делать-то??? ***** РС. Прошу прощенья, что не в тему... Последний раз редактировалось Polus39, 06.09.2011 в 14:45. |
|
#3
|
||||
|
||||
|
Нашла решение своей проблемы.
Код:
procedure TfmChild1.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
var holdColor: TColor;
begin
if (not (gdSelected in State)) then begin
holdColor := DBGrid1.Canvas.Brush.Color; {ñîõðàíÿåì îðèãèíàëüíûé öâåò}
if (Column.FieldName = 'Nositel') or (Column.FieldName = 'Artikul')
or (Column.FieldName = 'DNPSMM')or (Column.FieldName = 'Info') then
begin
DBGrid1.Canvas.Brush.Color := rgb(254, 207, 203);
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
DBGrid1.Canvas.Brush.Color := holdColor;
end;Всего-то одну строчку надо было добавить - Код:
if (not (gdSelected in State)) then begin ![]() |
|
#4
|
|||
|
|||
|
Походу я тоже сам решил проблему(правда в обход)
так было: Код:
procedure MyProc(vAWS: Array of WideString) var aWS: WideString; i, j: Integer; begin ... vAWS[i, j] := aWS; ... end; а так работает: Код:
type TWSa = Array of Array of WideString; ... procedure MyProc(vAWS: TWSa) var aWS: WideString; i, j: Integer; begin ... vAWS[i, j] := aWS; ... end; Последний раз редактировалось Polus39, 07.09.2011 в 09:52. |