Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.10.2012, 23:28   #11
mikhea
Пользователь
 
Регистрация: 17.01.2007
Сообщений: 26
По умолчанию

Цитата:
Сообщение от ReportCube Посмотреть сообщение
Вопрос: если у Вас grdMy.RowCount будет равен миллиону, то при всяком скроллировании в цикле будет обрабатываться миллион кнопок?
Ну миллиона там никогда не будет, но намек понял. Можно обрабатывать только те кнопки, которые находятся в поле зрения. Но как это сделать? Верхнюю видимую ячейку можно узнать из свойства TopRow, насколько я понимаю. А как узнать количество строк, которые видимы?
mikhea вне форума Ответить с цитированием
Старый 20.10.2012, 12:36   #12
ReportCube
Форумчанин
 
Аватар для ReportCube
 
Регистрация: 11.03.2011
Сообщений: 426
По умолчанию

VisibleRowCount. Мне просто не нравится вариант с кучей кнопок. Зачем? Основная функция кнопки - отработать нажатие. При этом стандартная кнопка ещё будет получать и фокус ввода по нажатию клавиши Tab - а оно Вам надо? Гораздо проще нарисовать а-ля кнопку по событию OnDrawRowsShowCell, нажатие клавиши мыши на ячейку - так же стандартное событие грида (разве что с дополнительным ограничением в размеры кнопки). При таком решении забудите о тормозах...
ReportCube вне форума Ответить с цитированием
Старый 20.10.2012, 15:08   #13
mikhea
Пользователь
 
Регистрация: 17.01.2007
Сообщений: 26
По умолчанию

Цитата:
Сообщение от ReportCube Посмотреть сообщение
VisibleRowCount. Мне просто не нравится вариант с кучей кнопок. Зачем? Основная функция кнопки - отработать нажатие. При этом стандартная кнопка ещё будет получать и фокус ввода по нажатию клавиши Tab - а оно Вам надо? Гораздо проще нарисовать а-ля кнопку по событию OnDrawRowsShowCell, нажатие клавиши мыши на ячейку - так же стандартное событие грида (разве что с дополнительным ограничением в размеры кнопки). При таком решении забудите о тормозах...
Пожалуй, Вы правы, учту на будущее. Просто сейчас уже готовый проект, так что все переделывать нереально.
В общем, я так понял, что уменьшить тормоза при данной реализации нереально. Ладно, не так все страшно. Спасибо всем за помощь.
mikhea вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка одномерных массивов, СИ. задание внутри, и написанный мною текст программы тоже внутри. кое-что нужно исправить.. Амелия Общие вопросы C/C++ 6 02.04.2012 20:03
Мерцание ZBEP Общие вопросы Delphi 3 09.04.2011 15:14
Нахождение слов-анаграмм, Ошибка выдается. Задание внутри. Код внутри. TYMON Общие вопросы .NET 2 22.11.2010 21:07
Мерцание StringGrid (CLX) SpaceIQ Общие вопросы Delphi 6 13.07.2009 15:21
Как раскрасить ячейку внутри StringGrid. GarfieldX Общие вопросы Delphi 5 14.02.2008 21:59