Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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


DelphiLexx ©   (2006-12-18 13:39:00) 

Как запретить рисовать окантовку, в 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


DelphiLexx   (2006-12-19 11:02:00) [1]


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

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


Polevi   (2006-12-19 08:18:00) [2]

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


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

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

procedure TCustomDBGrid.DrawCell(ACol, ARow: Longint; ARect: TRect; AState: TGridDrawState);
 ...
    if FDefaultDrawingand ( 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


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

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


ЮЮ   (2006-12-19 03:11:00) [5]

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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо