Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.48 MB
Время: 0.051 c
6-1092719789
Duka
2004-08-17 09:16
2004.10.24
Локальная сеть


1-1097059770
ALex B.
2004-10-06 14:49
2004.10.24
Помоготе с HINT!!!


3-1096365087
MakNik
2004-09-28 13:51
2004.10.24
текст SQL ошибки в приложении


9-1087541504
КиТаЯц
2004-06-18 10:51
2004.10.24
GLScene GLNavigator косяк. Кто сталкивался?


4-1095424108
SashkoSoft
2004-09-17 16:28
2004.10.24
Как достучаться до dll ?