Главная страница
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.049 c
6-1151283337
Junior
2006-06-26 04:55
2006.11.19
Bluetooth


6-1151538067
Rembo
2006-06-29 03:41
2006.11.19
Русские символы в ссылках (WebBroker)


2-1162367551
Antonq
2006-11-01 10:52
2006.11.19
Как сообщением поменять курсор мыши


15-1162302875
Rule
2006-10-31 16:54
2006.11.19
Самоучитель игры на пианине, посоветуйте


15-1161935751
Rule
2006-10-27 11:55
2006.11.19
Разбирается ли кто в синтезаторах ... не могу выбрать между двух