Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.10.24;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.034 c
4-1095848047
S@shka
2004-09-22 14:14
2004.10.24
передача управления другому приложению


3-1096054995
wxw
2004-09-24 23:43
2004.10.24
Ошибка при работе с TQuickReport


1-1097423598
dracula
2004-10-10 19:53
2004.10.24
конвертация кодировок


3-1096468356
Koala
2004-09-29 18:32
2004.10.24
удаление строк из ХП


14-1096729927
kaZaNoVa
2004-10-02 19:12
2004.10.24
Обработка видео





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский