![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| metoflex |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 126 Регистрация: 18.4.2010 Репутация: нет Всего: нет |
Приветствую!
Нужно реализовать идею вида: Есть набор картинок (только *.bmp & *.jpg). Могу выделять от одной до 20 картинок и выводить нужно их в ленту (что-то на подобие как в проводнике большими значками в винде картинки расположены должны быть, их потом пролистываешь ползунком). В ширину должна быть одна картинка, а в высоту соответственно 20, но на экране видимые должны быть 3 штуки, остальные смотрим прокручивая ползунок. Мб у кого-то есть подобного рода наработки или мб мысли на этот счет конкретные есть. Буду рад любой помощи. Спасибо! |
|||
|
||||
| RastaDja |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 337 Регистрация: 1.11.2010 Репутация: нет Всего: 5 |
могу посоветовать перейти на WPF .Net, там такое можно сделать относительно просто, и быстро. Ну или создать свой ActiveX.
-------------------- The more closely you look at one thing, the less closely can you see something else. |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 33 Всего: 183 |
Если картинки имеют сравнительно небольшой размер (или их можно ужимать до какого надо размера), можно воспользоваться ListView. Не знаю, какое там ограничение на размер изображения для элемента, но если тебе нужно что-то вроде режима просмотра thumbnails эксплорера, то это как раз оно. Режим "большие значки" (не помню, как стиль правильно называется). Чтобы было скоко надо в высоту и ширину - установить размеры ListView.
Все, что остается сделать - загрузить картинки и привести их к более-менее единому размеру (чтобы в ImageList засунуть). Впрочем, можно и динамически (т.е. прорисовку икон взять на себя). -------------------- ... |
|||
|
||||
| metoflex |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 126 Регистрация: 18.4.2010 Репутация: нет Всего: нет |
Спасибо большое за совет!
Структура программы немного изменилась. Теперь мне нужно из набора пикселей, хранящихся в массиве сделать отрисовку изображения или в самом диалоге или же в любом ctrl; Юзал и SetPixel(); и SetBitmapBits(); Пока дошел до такого:
но воз и ныне там, так никакого абсолютно отображения я и не добился.. P.S. pConvertImage->pixelmass - это собственно сам массив (unsigned short**); |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 33 Всего: 183 |
По поводу, формата битмапа и его вывода на экран было много тем. В этом разделе и в ВинАПИ. Поищи по форуму.
-------------------- ... |
|||
|
||||
| metoflex |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 126 Регистрация: 18.4.2010 Репутация: нет Всего: нет |
Earnest, У меня только на Вас и была вся надежда в выходные. Я около 25 часаов грохнул на это за 2 дня... способов 30 уже перепробывал... всё тщетно, как был CStatic пустой, так и остался. С форума все что можно было - все перепробывал..
Если поможете, буду весьма благодарен. |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 33 Всего: 183 |
Извини, не могу, нет времени. Давай перенесу в ВинАПИ тему, там народу сейчас побольше. Возможно, кто-то поможет. Но думаю, ты плохо искал или невнимательно читал. Ибо тема - баян.
-------------------- ... |
|||
|
||||
| metoflex |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 126 Регистрация: 18.4.2010 Репутация: нет Всего: нет |
Earnest, Вы были правы! На протяжении 2-х дней я был слеп! Нашел решение, причем которое советовали вы же:
CDC* pDC = pixelimg.GetDC(); for(int i=0; i<100; i++) for(int j=0; j<100; j++) int k = pDC->SetPixelV(i,j, Pixel); pixelimg.ReleaseDC(pDC); pixelimg (переменная CStatic) полное решение напишу вечером. Вдруг кому-то пригодится ;) |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 33 Всего: 183 |
Хм... но вообще-то SetPixel - не самый быстрый метод, правильнее все же правильно заполнить биты битмапа.
Впрочем, если быстродействие тебя устраивает, то для начала сойдет. Но вообще имей в виду, для больших картинок будут, скорее всего, тормоза. -------------------- ... |
|||
|
||||
| Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 16 Всего: 39 |
может это тебе поможет
http://www.codeproject.com/script/Articles...;display=Mobile http://www.hackchina.com/en/r/180970/memdc.h__html -------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
| metoflex |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 126 Регистрация: 18.4.2010 Репутация: нет Всего: нет |
Earnest, Да, спасибо! Я уже начитался про медленность SetPixel(). Для выполнения поставленной задачи вполне сойдет.
|
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |