![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
AleksandraN |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 11.8.2009 Где: Пермь Репутация: нет Всего: нет |
Не прорисовывается StringGrid если стить шрифта изменить на жирный, курсив....
Делаю так: обрабатываю событие OnDrawCell
после этого, если на форме больше 1-го StringGrida, то прорисовывается кое-как один....а остальные виснут.... Что-то я видимо не так делаю... |
|||
|
||||
Staruha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1292 Регистрация: 1.2.2004 Где: Казань Репутация: 1 Всего: 27 |
Сливаю в Stringgrid данные заодно и малюю.
-------------------- Возмездие настигнет |
|||
|
||||
AleksandraN |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 11.8.2009 Где: Пермь Репутация: нет Всего: нет |
Нет, мне надо, чтоб стиль разных ячеек был разным...плюс ко всему у меня на форме этих StringGrid-ов много...шрифт во всех ячейках жирный или курсив я могу сделать...а для конкретной нет... это так почему-то на условный оператор реагирует....
при этом я ещё в этих стринггридах chek-box-ы использую и картинки в ячейки вставляю..на них он реагирует адекватно.... |
|||
|
||||
Staruha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1292 Регистрация: 1.2.2004 Где: Казань Репутация: 1 Всего: 27 |
Вот и ставь заплатки на ячейки и малюй -------------------- Возмездие настигнет |
|||
|
||||
AleksandraN |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 11.8.2009 Где: Пермь Репутация: нет Всего: нет |
А можно пример...я ведь вроде бы так и делаю....
Добавлено через 1 минуту и 25 секунд Если StringGrid один, то в целом все прорисовывается, но он как бы мерцает...если их много, то прорисовывается и мерцает только один, а остальные вообще не прорисовываются |
|||
|
||||
RockClimber |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 848 Регистрация: 5.5.2006 Где: планета 013 в тен туре Репутация: нет Всего: 15 |
Проверь, какие у остальных обработчики события OnDrawCell. Возможно, только одна сетка привязана к приведенной выше процедуре. А вот с мерцанием придется смириться. Я не очень плотно изучал этот вопрос, но скорее всего оно происходит потому, что обработчик вызывается после стандартного рисования. В итоге при каждом чихе пользователя вызывается сначала стандартная перерисовка (не исключено, что она оптимизирована "против мерцания"), а потом обработчик OnDrawCell, который рисует второй раз то же самое. В принципе, можно сделать своего наследника от TCustomStringGrid и перекрыть рисующие методы - но это путь для полных перфекционистов... -------------------- Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит. |
|||
|
||||
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
volvo877 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2073 Регистрация: 15.11.2004 Репутация: 14 Всего: 116 |
Для начала надо поправить сам обработчик OnDrawCell, а потом уже смотреть, останется, с чем мириться, или нет. Я например, мерцания не наблюдаю при 4-х гридах и при любом количестве ячеек (даже при DoubleBuffered = false):
|
|||
|
||||
Staruha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1292 Регистрация: 1.2.2004 Где: Казань Репутация: 1 Всего: 27 |
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Я эту процедуру вообще не использую.Попробуй просто кнопку для начала.Все должно получиться -------------------- Возмездие настигнет |
|||
|
||||
AleksandraN |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 11.8.2009 Где: Пермь Репутация: нет Всего: нет |
Спасибо огромное всем, получилось...при очень большом количестве гридов все равно мерцает, но по крайней мере все прорисовывает...
![]() |
|||
|
||||
RockClimber |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 848 Регистрация: 5.5.2006 Где: планета 013 в тен туре Репутация: нет Всего: 15 |
Спасибо за подсказку, я попробую. Но только тут две проблемы: Во-первых, я использую Lazarus, а там, хоть и все те же самые компоненты, но реализация может отличаться. А искать исходники из Delphi и сравнивать мне лень. Во-вторых, я для своих нужд уже давно сделал наследника от TCustomDrawGrid и пользуюсь им, он не мерцает... И кроме того, мне показалось (именно показалось, на уровне ощущений), что мерцание меньше там, где оперативной памяти больше и проц помощнее... -------------------- Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит. |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |