![]() |
|
|
Регистрация | << Правила форума >> | 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, в результате выделяются только НЕЗАКРАШЕННЫЕ ячейки... помогитерешить проблему! Memento Mori(арти) |
#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 ![]() Memento Mori(арти) |
#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. |