![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Всем привет!
Есть такая задачка. Есть база данных, например, CAR_NAME - название авто, IMAGE_FILE_NAME - и путь к ее картинке на сервере. Когда пользователь выбирает машину, картинка подгружается в локальный кэш на диск и отображается в программе. В следующий раз картинка не качается, а берется из кэша. Все просто, когда речь идет о выводе данных по одной машине. Теперь собственно задача. Нужно выводить на форму картинки машин списком. Ну как выводятся товары в интернет-магазинах. По сути задача сводится к созданию интерфейса наподобие ACDSee. Там программа тоже считывает файлы с диска и показывает их миниатюры. Тут миниатюры делать не нужно, там размеры файлов уже фиксированы, но нужно выводить списком картинки. Так вот вопрос: какой компонент на ваш взгляд для этого лучше использовать? Я пока что вижу следующее решение: 1. Получить размеры формы 2. Динамически создать нужное количество компонентов TImage и позиционировать их на форме, чтобы получился аналог сетки 3. В каждый компонент TImage в потоках загружать фотки, чтобы приложение не висло в момент загрузки и скроллинга 4. При скроллинге использовать графический буфер, чтобы не было мерцания Но что-то мне подсказывает, что уже есть готовые решения, ведь задача типовая... Может кто подскажет компонент или решение? |
#2
|
|||
|
|||
![]() Я использовал EasyListView из пакета MustangPeak.
Вообще, DevExpress тоже в своем гриде такое умеет. Можно и свой такой компонент написать (тоже делал), там не так сложно, как кажется... |
#3
|
||||
|
||||
![]() А вот так не устроит?
Код:
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#4
|
|||
|
|||
![]() Спасибо за ответы
![]() Не удержалася и вместо того, чтобы дождаться ответа, просто сделал как планировал. В итоге потоки не потребовались, в принципе итак работает нормально. Так же как и графический буфер. В общем, решение через несколько TImage вполне подходит. Вот тут видео, как это работает. https://yadi.sk/i/KNA6l9UbUgYct Фотки каждая размером примерно 50 кб. К сожалению, с MustangPeak ознакомиться не удалось, их официальный сайт, похоже не работает. Жаль, надеялся на хорошую библиотеку. C DevExpress все никак не разберусь, как-то все у них мутно... Вроде картинки красивые, но как это сделать - нужно долго и нудно разбираться. А насчет использования браузера - интересный прием, который не приходил мне в голову. Когда-нибудь использую ![]() |