powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Полупрозрачные иконки в ListView vb.net
4 сообщений из 4, страница 1 из 1
Полупрозрачные иконки в ListView vb.net
    #38327520
Фотография surbanec
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте друзья.
Имеется форма.
на ней 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
Полупрозрачные иконки в ListView vb.net
    #38327535
Фотография surbanec
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот кое что нашел в апи

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
Полупрозрачные иконки в ListView vb.net
    #38328054
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
surbanec,

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

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

- а дальше что хочешь то и делаешь
...
Рейтинг: 0 / 0
Полупрозрачные иконки в ListView vb.net
    #38328746
Фотография surbanec
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
4 сообщений из 4, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Полупрозрачные иконки в ListView vb.net
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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