Форум: "Компоненты";
Текущий архив: 2006.11.19;
Скачать: [xml.tar.bz2];
Внизцвет строки и разделительных линий 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 7.809 c