Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Компоненты";
Текущий архив: 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
Время: 0.067 c
2-1162267874
viper03
2006-10-31 07:11
2006.11.19
Как извлечь объект из ЛистБокса?


1-1159884508
guav
2006-10-03 18:08
2006.11.19
TReader/TWriter для TPersistent из/в XML


2-1162358463
apic
2006-11-01 08:21
2006.11.19
EXE в БД


6-1151488496
Chaser
2006-06-28 13:54
2006.11.19
Аналог ClientSocket1Write для Indy idTCPClient


15-1161693363
Rule
2006-10-24 16:36
2006.11.19
В чем лучше сделать кросссплатформенное приложение ...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский