Текущий архив: 2004.10.24;
Скачать: CL | DM;
ВнизStringGrid и пунктир if gdFocused (DrawFocusRect)? Найти похожие ветки
← →
Cosinus © (2004-10-08 15:30) [0]Помогите найти и прибить кусок кода из Grids.pas, отвечающий за прорисовку курсивной линии, если
gdFocused in State
вокруг активной ячейки. Вот не могу найти и все:(((
← →
Леприкон © (2004-10-08 16:19) [1]может где то в районе 1893 строки? (D7)
← →
Skeptik (2004-10-08 16:30) [2]посмотри: в TCustomGrid процедуру Paint, в ней внутреннюю процедуру DrawCells, а там ищи этот код (где-то в конце):
if DefaultDrawing and not (csDesigning in ComponentState) and
(gdFocused in DrawState) and
([goEditing, goAlwaysShowEditor] * Options <>
[goEditing, goAlwaysShowEditor])
and not (goRowSelect in Options) then
begin
if not UseRightToLeftAlignment then
DrawFocusRect(Canvas.Handle, Where)
else
begin
AWhere := Where;
AWhere.Left := Where.Right;
AWhere.Right := Where.Left;
DrawFocusRect(Canvas.Handle, AWhere);
end;
end;
но это только если not (goRowSelect in Options)
если интересует условие goRowSelect in Options,
то тогда в самой Paint ищи (тоже в конце):
if not (csDesigning in ComponentState) and
(goRowSelect in Options) and DefaultDrawing and Focused then
begin
GridRectToScreenRect(GetSelection, FocRect, False);
if not UseRightToLeftAlignment then
Canvas.DrawFocusRect(FocRect)
else
begin
AFocRect := FocRect;
AFocRect.Left := FocRect.Right;
AFocRect.Right := FocRect.Left;
DrawFocusRect(Canvas.Handle, AFocRect);
end;
end;
← →
Cosinus © (2004-10-08 16:57) [3]DrawFocusRect я все от безысходности прибил... Либо не то, либо я что то не так делаю.
ЗЫ А то, что это t
> в TCustomGrid процедуру Paint, в ней внутреннюю процедуру
> DrawCells
это в общем то как раз понятно :))))
← →
Игорь Шевченко © (2004-10-08 17:16) [4]
> Помогите найти и прибить кусок кода из Grids.pas, отвечающий
> за прорисовку курсивной линии, если gdFocused in State вокруг
> активной ячейки
Попробуй еще раз сказать DrawFocusRect
← →
Cosinus © (2004-10-08 17:27) [5]
> Игорь Шевченко © (08.10.04 17:16) [4]
Вслух? Говорил. И даже монитор протирал - не помогает :)
А если серьезно, что вы имели ввиду?
← →
ЮЮ © (2004-10-11 04:01) [6]DefaultDrawing = false и кроме сетки грида ничто тебя не побеспокоит :)
И теперь в OnDrawCell рисуешь что хочешь и как хочешь
← →
Леприкон © (2004-10-11 07:24) [7]У меня получилось. Открыл файл Grids.pas, закомментировал все DrawFocusRect в нём, сохранил его в другом месте, затем "Add file to project" добавил его к проекту, после этого при компиляции уже брался он, а не Grids.dcu из Lib.
Страницы: 1 вся ветка
Текущий архив: 2004.10.24;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.039 c