Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Полупрозрачные иконки в ListView vb.net / 4 сообщений из 4, страница 1 из 1
11.07.2013, 02:58
    #38327520
surbanec
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Полупрозрачные иконки в ListView vb.net
Здравствуйте друзья.
Имеется форма.
на ней ListViev и ImageList
Код: vbnet
1.
2.
 Me.ImageList1.Images.Add(n, Image.FromFile(Application.StartupPath & "\picon\m.ico"))
 Me.ListView1.Items.Add(n,  "тролололлолоша", n)



Изображение забивается в имеджлист. листвью берет из неге эти изображения.

m.ico содержет 2 значка. один 16битный. другой 32 битный
изображение загружается т 16битное.
если урезать m.ico до одного 32битного значка полупрозрачности вообще нету...
там где должно быть полупрозрачность просто черным черно.
тоже самое заметрил когда я просто допустим загружаю эту m.ico в пикчербокс..

похоже что Image.FromFile(Application.StartupPath & "\picon\m.ico") не подходит для иконок.

подскажите как можно загрузить иконку(ico) так чтобы она сохраняла полупрозрачность.
...
Рейтинг: 0 / 0
11.07.2013, 05:07
    #38327535
surbanec
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Полупрозрачные иконки в ListView vb.net
вот кое что нашел в апи

Private Declare Function ExtractIconEx Lib "shell32.dll" Alias "ExtractIconExA" (ByVal lpszFile As String, ByVal nIconIndex As Long, ByRef phiconLarge As Long, ByRef phiconSmall As Long, ByVal nIcons As Long) As Long

только не могу понять как она работает и возможно ли с помощью нее перебрать все изображения в ico файле и использовать только ту которая имеет максимальный размер и битность.
...
Рейтинг: 0 / 0
11.07.2013, 13:38
    #38328054
VIT2708
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Полупрозрачные иконки в ListView vb.net
surbanec,

есть такой контрол как ImageList туда загружаешь картинки, настраиваешь как тебе надо потом делаешь

Код: c#
1.
ListView.SmallImageList = Imagelist; // или ListView.LargeImageList = Imagelist;

- а дальше что хочешь то и делаешь
...
Рейтинг: 0 / 0
11.07.2013, 22:09
    #38328746
surbanec
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Полупрозрачные иконки в ListView vb.net
VIT2708,

авторИмеется форма.
на ней ListViev и ImageList
Me.ImageList1.Images.Add(n, Image.FromFile(Application.StartupPath & "\picon\m.ico"))
Me.ListView1.Items.Add(n, "тролололлолоша", n)
вопрос не в этом. проимидж лист я описал.

я хочу разобраться с другим аспектом.

ico файл содержит массив изображений.

когда загружаешь иконку вот этим способом - Image.FromFile(Application.StartupPath & "\picon\m.ico")
то выбирается не самое лучшее изображение. приорететно загружается изображение в 256 цветов а если даже такого нету и там все изображения полноцветные, то при загрузки image не полупрозрачный , хотя должен.

Dim file As String = Application.StartupPath & "\128.ico"
Dim ico As Icon = Icon.FromHandle(ExtractIcon(Me.Handle, file, 0))

вот нашел другой способ. загружает все нормально. полноцветную картинку, однако этот способ не выдает картинку из ico файла которая имеет максимальный размер.....
.... блин. чета я уже сам запутался в том что пишу тут...

в общем. так.... ищу способ извлечения из ico файла изображения которое имеет максимальную битность и максимальный размер.

Private Declare Function ExtractIconEx Lib "shell32.dll" Alias "ExtractIconExA" (ByVal lpszFile As String, ByVal nIconIndex As Long, ByRef phiconLarge As Long, ByRef phiconSmall As Long, ByVal nIcons As Long) As Long

вот с этой функцией я так и не смог совладать... и вообще даже не знаю пойдет ли она для такой цели
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Полупрозрачные иконки в ListView vb.net / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]