На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА · FAQ раздела Delphi · Книги по Delphi
Обязательно выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.

Этот раздел предназначен для вопросов, посвященных разработке компонентов, а также для тестирования собственных бесплатных компонентов с открытым исходным кодом.

Здесь запрещается:
1. Размещать ссылки на какие-либо коммерческие компоненты, реализующие требуемую функциональность.
2. Обсуждать и тестировать коммерческие компоненты или компоненты с закрытым кодом.
3. Давать ссылки на сайты с исходным кодом компонентов. Все тестируемые исходные коды должы быть размещены на сайте ИСХОДНИКИ.RU.
Модераторы: Rouse_, DimaBr
Страницы: (2) [1] 2  все  ( Перейти к последнему сообщению )  
> Компонент ATImageBox (TScrollBox+TImage)
    Выделил из своего компонента код, содержащий TScrollBox + TImage + обвязку.
    Получился компонент ATImageBox:

    http://atorg.net.ru/files/ATImageBox.zip (290 Кб)

    user posted image


    Набор фич виден по демо. В общем-то, почти те же фичи, что и в компоненте "Image Controls" который обсуждают тут, только без "наворотов" вроде OpenGL, resampling и т.д. Только самое нужное. Зато код маленький.

    Позже выложу на torry.net.
    Сообщение отредактировано: AlexeyT -

    Прикреплённый файлПрикреплённый файлATImageBox.zip (73 Кбайт, скачиваний: 1566)
      Без исходников компонент не относится к тематике раздела по программированию.
        Smike
        OK, сейчас выложу исходники.
        Update: выложил.
        Сообщение отредактировано: AlexeyT -
          Посмотрел. При использовании масштабирования такой симбиоз не годится... Изображение перемасштабируются каждый раз при скроллинге, что приводит к чудовищным тормозам на больших изображениях.

          Я тоже начинал с Image + ScrollBox, но пришел к выводу, что это громоздко, неудобно и неуниверсально.

          Кроме этого в коде видел обработку колеса мыши и клавиатуры. Только это все не работает, если перевести фокус например на кнопку и даже если потом кликнуть на компоненте. Вывод – нет обработки получения фокуса.

          Если выставить флаг "сохранять позицию при масштабировании", наблюдается большое мерцание, когда появляются скроллбары.
            Smike
            Цитата Smike @
            Посмотрел. При использовании масштабирования такой симбиоз не годится... Изображение перемасштабируются каждый раз при скроллинге, что приводит к чудовищным тормозам на больших изображениях.


            На больших - это на каких? У меня есть 1600*1200 - вроде масштабируется мгновенно.
            Вот есть 7200*7200 - на нем да, тормозит.

            Цитата Smike @
            Кроме этого в коде видел обработку колеса мыши и клавиатуры. Только это все не работает, если перевести фокус например на кнопку и даже если потом кликнуть на компоненте. Вывод – нет обработки получения фокуса.


            Да, надо обрабатывать OnClick. Поправил.
            Теперь фокусируется, клавиши/колесо работают.

            Цитата Smike @
            Если выставить флаг "сохранять позицию при масштабировании", наблюдается большое мерцание, когда появляются скроллбары.


            Это надо будет поправить.
              Цитата AlexeyT @
              На больших - это на каких? У меня есть 1600*1200 - вроде масштабируется мгновенно.
              Вот есть 7200*7200 - на нем да, тормозит.

              2976*1952
                Smike
                А что предлагаете делать для такого случая? Как масштабировать.
                  Цитата AlexeyT @
                  А что предлагаете делать для такого случая? Как масштабировать.

                  В таком гибридном компоненте трудно что-то сделать. Разве что придумать какую-то хитрую отрисовку TImage. А именно отрисовывать в TImage только видимую на данный момент область компонента.

                  Тему перенес в специальный раздел. В соответствии с правилами данного раздела прошу прикрепить исходники компонента в первом сообщении. Если не помещается, можно без исполняемого файла.
                    интересует след вопрос а куда убралась канва как теперь рисовать на компоненте ?
                      Цитата AlexeyT @
                      Да, надо обрабатывать OnClick. Поправил.
                      Теперь фокусируется, клавиши/колесо работают.

                      А исправленный код есть?
                        psp посмотри этот вариант, помоему в нем работает то что нужно тебе ...
                        Прикреплённый файлПрикреплённый файлATImageBox_2007.10.21.zip (77.92 Кбайт, скачиваний: 2215)
                          Цитата andrew.virus @
                          psp посмотри этот вариант, помоему в нем работает то что нужно тебе ...

                          Что то этот файл не скачивается ..хотел опять скачать..
                            psp все нормально работает, а какая у тебя проблема возникла ...
                              Цитата andrew.virus @
                              psp все нормально работает, а какая у тебя проблема возникла ...

                              Не распаковывается нормально...
                                psp пишет, что внутри файл ... просмотри ее как папку и будет чудо ... ;)
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0600 ]   [ 17 queries used ]   [ Generated: 19.03.24, 07:46 GMT ]