Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.11.19;
Скачать: CL | DM;

Вниз

цвет строки и разделительных линий TStringGrid   Найти похожие ветки 

 
Vopros   (2006-03-23 10:55) [0]

Подскажите как НОРМАЛЬНО реализовать данные действия...
1) линий конечно можно нарисовать поверх НО это не есть правильно, получается что одно и тоже действие выполняется дважды, я посмотрел метод Paint где они рисуются и так и не понял как изменить им цвет :-( глобальной переменной типа FLineColor вроде бы нет :-(
//--------------------------------------------
2) пытаюсь текущую строку залить одним цветом, она конечно меняет цвет НО что бы все это НОРМАЛЬНО отображалось приходится вызывать метод Refresh
все бы нечего да только все это приводит к ОЧЕНЬ неприятному мерцанию при быстром перемещении по строкам :-((((
или может кто нибудь подскажет как в гриде при goRowSelect организовать редактирование это былобы более правельным решением на мой взгляд:-)
я смог вызвать метод редактировани при goRowSelect НО вот беда при goRowSelect всегда текущей является 0 колонка :-((((( посему edit выскакивает на 0 колонке, и еще интересный факт событие SelectCell выдает правельные координаты ячейки...
если кто знает как заставить фокус ячейки перемещаться по гриду при RowSel буду очень признателен :-)
а метод который указавает где появиться редактору приватный...
//---------------------------------------------
может кто нибудь подскажет как со всем этим бороться?
как мне этот метод переопределить?


 
Vopros   (2006-03-23 11:30) [1]

Или может посоветуете компонент для замены
единственно что подходящего я нашел это GridView но он для D7 :-(((


 
MBo ©   (2006-03-23 13:39) [2]

в Options убрать goVertLine и goHorzLine, и рисовать сетку самому в OnDrawCell


 
Vopros   (2006-03-23 14:47) [3]

to MBo
ответы на вопросы зачастую лежат на поверхности :-) спасибо
НО это не так кретично как Row Select :-(((


 
Vopros   (2006-03-23 16:49) [4]

Ну неужели никто с этим не сталкивался??? :-(


 
Наиль ©   (2006-03-23 17:30) [5]

Я бы, первым делом, перекрыл бы свойство Options.
У предка держал бы goRowSelect в false, а goRangeSelect в true. А в своей компоненте завёл бы приватные поля, которые отвечали бы за хранение goRowSelect и goRangeSelect. GetOptions должен будет возвращать значение с учётом этих переменных. При изменении Row настраивал бы Selection так, чтобы выделеной была нужная строка. Но это всё теория, я не пробывал.


 
Vopros   (2006-03-24 13:13) [6]

все бы хорошо НО опять при выделении строки таким образом редактируемая ячейка крайняя, тоесть в центре я курсор не воткну :-(


 
Наиль ©   (2006-03-24 18:14) [7]

Прежде, чем дать ответ [5] я провёл такое испытание в простом StringGrid:
1. Установил goRowSelect в false
2. Установил goRangeSelect в true
3. Запустил программу
4. Выделил строку и установил фокус на 3ю клетку строки
Таким образом я убедился [5] может работать, как надо.
Правда выглядит это несколько не правильно: белая клетка на синей строке.
Не вижу причин, почему этого нельзя повторить в своей компоненте.



Страницы: 1 вся ветка

Текущий архив: 2006.11.19;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.03 c
2-1162404089
Vladimir1984
2006-11-01 21:01
2006.11.19
как сохранить файл bmp из панели, используя SavePictureDialog


15-1162062209
lookin
2006-10-28 23:03
2006.11.19
Думаю, вы знаете, что когда () - меня немножко прет...


1-1160488144
Dush
2006-10-10 17:49
2006.11.19
VB в Delphi (AndAlso и OrElse)


3-1158737783
NotGooDP
2006-09-20 11:36
2006.11.19
XML + MsSQL


2-1162383035
Владимир71
2006-11-01 15:10
2006.11.19
РАЗМЕР ПОЛЯ