![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как запретить рисовать окантовку, в 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 в обработчике?