![]() |
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]() ![]() ![]() |
|
6urunduk |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 27.1.2010 Репутация: нет Всего: нет |
На форме есть StringGrid, в него загружаются картинки из Image в процедуре OnDrawCell
Вопрос: как подогнать размер ячеек под размер изображения ? |
|||
|
||||
DarkProg |
|
|||
![]() Законченный романтик ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1784 Регистрация: 11.3.2009 Где: Земля Репутация: 4 Всего: 19 |
Я бы скорее подогнал изображения под размер ячеек, потому как все изображения разных рамеров, а StringGrid как-то не очень оперирует размером каждой отдельной ячейки(я обычно в таких случаях создаю чего-нить своё в виде кучки динамических компонентов)
Вот посему выставьте размер каждой ячейке скажем 300х300 и подгоняйте изображение. Также попробуйте поискать для интереса решение в DRKB, но я такого не видел как-то. -------------------- "И твоя голова всегда в ответе за то куда сядет твой зад..." "Я студент - скажите с какого я ВУЗа..." ![]() ![]() ![]() |
|||
|
||||
~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 5 Всего: 68 |
Ячеек - ни как, ну то есть можно конечно взять всю перерисовку на себя, но имхо проще использовать что то другое... Стриггрид позволяет рулить только размерами столбца/строки... Придется сначала померить все картинки находящиеся в столбце/строке, соответственно увеличить ширину/высоту, до самой большой картнки, и только после этого отрисовать все вместе... Что бы было ровно, можно разместить по центру имиджи меньшего размера... Тока ИМХО, будет весьма криво выглядеть... |
|||
|
||||
6urunduk |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 27.1.2010 Репутация: нет Всего: нет |
~FoX~, вот через размер столбца\строки и подогнал
DarkProg, вставить нужно одно изображение во все ячейки ![]() Но вот проблема: мерцание слишком заметно!!!Просто убивает! как от него избавиться?(от мерцания) |
|||
|
||||
~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 5 Всего: 68 |
6urunduk, Во первых, менять размер в момент прорисовки это конечно здорово, но по моему это вызовет либо бесконечный цикл, либо переполнения стека...
Во вторых DefaultColWidth/DefaultRowHeight меняет все и сразу, я бы все таки менял по отдельности - RowHeights[0] := x/ColWidths[0]:=x; Ну и в третьих, соблюдай последовательность....... |
|||
|
||||
graffi |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 6.4.2007 Репутация: нет Всего: нет |
А мерцания немножко меньше будет, если поставить DoubleBuffered в true (это свойство формы). Можно в обработчик создания формы сунуть.
|
|||
|
||||
6urunduk |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 27.1.2010 Репутация: нет Всего: нет |
~FoX~,
graffi,
|
||||
|
|||||
~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 5 Всего: 68 |
||||
|
||||
6urunduk |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 27.1.2010 Репутация: нет Всего: нет |
~FoX~, а не легче мерцание убрать, нежели просчитывать кол-во каритнок, которые умещаются на форме ?
|
|||
|
||||
~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 5 Всего: 68 |
6urunduk, А сам подумай?
СтрингГрид не является контейнером, он не хранит изображения, он предоставляет только канвас, т.е. на каждую опирацию (скрол, перемещение формы, изменение размеров и даже просто провести курсором над изображением)... тебе придется перерисовывать все.... На сколько бы быстро не работал твой алгоритм перерисовки, на сколько бы оптимальны не были изображения, от мерцания ты не избавишься... Проверенно, даже при использовании GDI+.... Хочишь избавица от мерцания загоняй объекты контейнеры (TImage например) в ячейки грида.... |
|||
|
||||
6urunduk |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 27.1.2010 Репутация: нет Всего: нет |
[Б]~ФоХ~[/Б], легче повеситься
Добавлено через 4 минуты и 44 секунды а если использовать ДравГрид ? |
|||
|
||||
~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 5 Всего: 68 |
6urunduk, аналогично
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |