Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.027 c
1-1097231872
mRodion
2004-10-08 14:37
2004.10.24
Еще по поводу Tlist. Сортировка.


14-1096700781
[NIKEL]
2004-10-02 11:06
2004.10.24
Всем привет!


1-1097044310
clampo
2004-10-06 10:31
2004.10.24
Текст на лабеле


1-1096990268
diabolik_krsk
2004-10-05 19:31
2004.10.24
Проблема с объявлением типизированного файла


3-1096018086
onics
2004-09-24 13:28
2004.10.24
Вставка комынды MS Visual FoxPro 6.0 в код программы.




   Наверх