Главная страница
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.048 c
6-1151406325
alex_pv1
2006-06-27 15:05
2006.11.19
Установить IP


2-1162466056
Dmitry_177
2006-11-02 14:14
2006.11.19
Перевод типов на API


15-1162262217
Mozart
2006-10-31 05:36
2006.11.19
Подскажите начинающему железячнику :)


1-1160198466
jiny
2006-10-07 09:21
2006.11.19
Проблема с RemoveAllNodes в AdvStringGrid при повторном вызове


1-1160182107
Doma
2006-10-07 04:48
2006.11.19
Как задать порядок присвоения св-в компоненты при создании?