Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.02.11;
Скачать: CL | DM;

Вниз

Как запретить рисовать окантовку, в DBGridEh   Найти похожие ветки 

 
DelphiLexx ©   (2006-12-18 13:39) [0]

Как запретить рисовать окантовку, в DBGridEh"e.

var
 lRect: TRect;
begin

 with TDBGridEh(Sender), TDBGridEh(Sender).Canvas do
 begin
   if (Column = Columns[1]) or (Column = Columns[2]) or
      (Column = Columns[3]) or (Column = Columns[4]) then
   begin
     Brush.Color := $00FFF0F0;
     lRect := Rect;
     if Column <> Columns[4] then
       lRect.Right := lRect.Right + 1;
     FillRect(lRect);
     DefaultDrawColumnCell(lRect, DataCol, Column, State);
   end
   else
     inherited;
 end;
end.

Результаты данного кода см. рисунок.
http://www.rsdn.ru:80/File/26841/pic.JPG


 
ЮЮ ©   (2006-12-19 03:11) [1]

не использовать DefaultDrawColumnCell, где, по-моему, она и рисуется, а нарисовать ячйку самому.

Какой inherited в обработчике?


 
Германн ©   (2006-12-19 03:18) [2]

Что-то зачастили тут вопросы про библиотеку Д.Большакова.
Не пора ли ему сделать её платной для всех? :-)


 
ЮЮ ©   (2006-12-19 03:32) [3]

Хотя нет, в стандартном TDBGrid это рисуется в

procedure TCustomDBGrid.DrawCell(ACol, ARow: Longint; ARect: TRect; AState: TGridDrawState);
 ...
    if FDefaultDrawing and (gdSelected in AState)
       and ((dgAlwaysShowSelection in Options) or Focused)
       and not (csDesigning in ComponentState)
       and not (dgRowSelect in Options)
       and (UpdateLock = 0)
       and (ValidParentForm(Self).ActiveControl = Self) then
       Windows.DrawFocusRect(Handle, ARect);
end;


Смотри, где это рисуется в TDBGridEh и, исходя из этого, ищи методы обхода.
В стандартном при включенном DefaultDrawing - похоже, никак, если не установлен dgRowSelect


 
Polevi ©   (2006-12-19 08:18) [4]

попробуй ее затирать, DrawFocusRect


 
DelphiLexx ©   (2006-12-19 11:02) [5]


> попробуй ее затирать, DrawFocusRect

Спасибо. Помогло.



Страницы: 1 вся ветка

Текущий архив: 2007.02.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.031 c
2-1169461062
hursand
2007-01-22 13:17
2007.02.11
Edit


2-1169630947
распечатчик
2007-01-24 12:29
2007.02.11
Работа с принтером


2-1169652134
ANB
2007-01-24 18:22
2007.02.11
Передать параметр макросу в Word


15-1169331942
PHPdeveloper
2007-01-21 01:25
2007.02.11
Хостинг


2-1169640296
Vlad Oshin
2007-01-24 15:04
2007.02.11
Функция типа REPLACE в строках, нет ли такой?