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

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



Память: 0.46 MB
Время: 0.029 c
8-1144960276
Alpine
2006-04-14 00:31
2006.11.19
Помогите с DSPACK+web camera


1-1160412630
Gbp
2006-10-09 20:50
2006.11.19
Замена CodeWarp для Delphi 2006


2-1162238869
Evo
2006-10-30 23:07
2006.11.19
ошибка блин


1-1160321075
flaxe
2006-10-08 19:24
2006.11.19
Встраивание в другие программы


2-1162054281
Ingwar
2006-10-28 20:51
2006.11.19
Как лучше сделать!




   Наверх