Рисование картинки на ListView

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Рисование картинки на ListView

Сообщение DirectXManiac » 28.01.2007 (Вс) 4:19

Проблема в том, что при создании мной маленькой программки - браузер текстур возник баг. Задача программы:
-Найти все файлы рисунков в заданой папки
-Отобразить их в ListView в режими lwIcons
Сделал... Никогда не работав с ListView сделал. Получилось неплохо, но есть одна проблема. Насколько я понял в ListView иконки рисуються в 256 цветов. Но у меня не иконки, а текстуры. Такой расклад никуда не годиться. Я извиняюсь если тема обсуждалась но ничего похожего не нашёл. Короче вопрос:
"Как заставить ListView рисовать иконки с цветами в 16 или 24 бита, при этом сохранив смысл программы. Я имею ввиду что у меня ListView служит, как список текстур с их эскизом, для выбора текстуры..."
#define ROFL 0xDDDD

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Сообщение Alexanbar » 28.01.2007 (Вс) 12:40

По-моему, 16 и 24 бита отрисовываться обязаны.

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Сообщение DirectXManiac » 28.01.2007 (Вс) 14:56

Вот том и дело что нет ((( ВОт скрин
Вложения
editor.PNG
editor.PNG (124.86 Кб) Просмотров: 1002
#define ROFL 0xDDDD

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Сообщение Alexanbar » 28.01.2007 (Вс) 15:06

А ты уверен, что картинки, котрые ты отображаешь, нормальные?

Cохрани то, что находится в Imagelist, на диск, и проверь

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Сообщение DirectXManiac » 28.01.2007 (Вс) 16:10

Alexanbar
Если рисовать их через GDI+ они просто отличные. То же самое через DirectX и на PictureBox-е нормальные! А тут нет! :(
#define ROFL 0xDDDD

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16489
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 28.01.2007 (Вс) 16:41

DirectXManiac
Для броузера картинков (т.е. текстур) лучше бы написал контролл сам. Дело пяти минут ведь.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Сообщение DirectXManiac » 28.01.2007 (Вс) 16:54

Хакер
У меня знания по поводу контролов слабые, точнее их почти нету! :(
#define ROFL 0xDDDD

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16489
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 28.01.2007 (Вс) 16:57

Двигай в PictureBox-е, массив PictureBox-ов и Label-ов. Какие тут знания нужны?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Сообщение Alexanbar » 28.01.2007 (Вс) 17:34

Проверь, отображает ли эти картинки IE.

Listview берёт картинки из Imagelist.
Imagelist берёт не только 24b картинки, но и 32битные.
Другое дело, Listview не способен отрисовать 32битные картинки.

По-идее, при добавлении картинок gif-jpeg они конвертируются в BMP.

Может быть, дело как раз в этом - конвертирование работает неверно.

Не знаю, зависит ли это от того, установлены ли в системе нужные кодеки.

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 28.01.2007 (Вс) 18:53

2 DirectXManiac

Как насчет?

установлены ли в системе нужные кодеки


Кодеки? В системе? На "gif-jpeg"? :roll:
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

Winitar
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 224
Зарегистрирован: 06.07.2006 (Чт) 20:45
Откуда: Астана

Сообщение Winitar » 28.01.2007 (Вс) 19:25

А у меня не получается! :oops:

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 28.01.2007 (Вс) 19:33

Что это было?
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16489
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 28.01.2007 (Вс) 19:33

Оказалось что компонент требует ещё какие то компоненты, которые в свою очередь, ещё что то требуют. Помучался - нашёл все нужные компонеты. Запустил:
ActiveX componen't can't create object
______________________
Automation error.


Shift+Del и спокоен.

PS. Понял всю хрупкость технологии ActiveX я стараюсь не использовать нестандартные библы во всех случаях кроме экстренных.

ADD: Скачал ещё раз - захотелось таки добить это дело. Открыл проект блокнотом, нашёл там это
Reference=*\G{71A2702D-C7D8-11D2-BEF8-525400DFB47A}#1.0#0#..\..\xHelperCompiles\SSubTmr\Release\ssubtmr6.dll#vbAccelerator VB6 Subclassing and Timer Assistant (with configurable message response, multi-control support + timer bug fix)


Не идиот ли автор, и он что, действительно предполагает что моя локальная структура папак и файлов каким то чудом будет сопадать с его структурой, выкладывая кривые файлы в инет. :x
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16489
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 28.01.2007 (Вс) 19:49

ADD:
Здесь был пост BV примерно с таким содержанием. Но пока я отвечал его кто-то (наверное сам BV) снёс.

    Вы там командой "Winitar, Хакер, DirectXManiac" проект делаете? :roll:

    Опять не спал?


_______________________________________
BV писал(а):Вы там командой "Winitar, Хакер, DirectXManiac" проект делаете? :roll:


Ошибаешься. DirectXManiac делает утилиты для своего двига, кто такой Winitar я вообще не знаю, а сам я занимаюсь своим делом и на всё здесь происходящее мне плевать.


BV писал(а):Опять не спал?


Понятия не имею, спал ли ты или нет, перед тем как задавать мне подобные вопросы.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Сообщение Alexanbar » 28.01.2007 (Вс) 19:53

BV писал(а):2 DirectXManiac

Как насчет?

установлены ли в системе нужные кодеки


Кодеки? В системе? На "gif-jpeg"? :roll:


У меня некоторые jpeg в Picturebox вообще не грузились, причём без права обработки ошибки (On Error Resume next)

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 28.01.2007 (Вс) 20:19

Alexanbar писал(а):У меня некоторые jpeg в Picturebox вообще не грузились


А чем ты их туда грузил?
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Сообщение Alexanbar » 28.01.2007 (Вс) 22:23

BV писал(а):
Alexanbar писал(а):У меня некоторые jpeg в Picturebox вообще не грузились


А чем ты их туда грузил?


ПРимерно так:

Код: Выделить всё

Set PIcture1.picture=LoadPicture("c:\xxx\yyy.jpg")


tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 28.01.2007 (Вс) 23:57

Хакер писал(а):ADD: Скачал ещё раз - захотелось таки добить это дело. Открыл проект блокнотом, нашёл там это
Reference=*\G{71A2702D-C7D8-11D2-BEF8-525400DFB47A}#1.0#0#..\..\xHelperCompiles\SSubTmr\Release\ssubtmr6.dll#vbAccelerator VB6 Subclassing and Timer Assistant (with configurable message response, multi-control support + timer bug fix)


Не идиот ли автор, и он что, действительно предполагает что моя локальная структура папак и файлов каким то чудом будет сопадать с его структурой, выкладывая кривые файлы в инет. :x

Нет, не идиот. Файл сначала будет искаться по GUID, и только если не найдётся -- по пути. А ты, видимо, ssubtmr6.dll не зарегил.
Изображение

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16489
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 29.01.2007 (Пн) 0:00

Тогда автор должен снабдить архив документацией. Или я угадывать должен что там и как юзается.

Всё равно вещь бажная: рушится Run time error 0, крах, память не может быть "read".
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 29.01.2007 (Пн) 0:16

Хакер писал(а):Тогда автор должен снабдить архив документацией. Или я угадывать должен что там и как юзается.

:roll: :roll: А потом Экслер удивляется, что пачки американских орешков снабжаются документацией: "1. Откройте пачку. 2. Ешьте орехи."
Изображение

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16489
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 29.01.2007 (Пн) 0:21

<!-- обижается и уходит из темы -->
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Сообщение DirectXManiac » 29.01.2007 (Пн) 6:52

Ну и что вы тут нафлудили :lol: Хакера вон обидели... Вообще вопрос закрыт. Решил с помощью GDI+.
tyomitch
Отличная обёртка! :wink:
#define ROFL 0xDDDD


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

    TopList