Я не знаю vb.net, таким образом, я сделал это в C#
m_equipmentList.Sort(
(payItem1,payItem2)=>payItem1.ResourceID.CompareTo(payItem2.ResourceID));
, и использование отражателя перевело его в vb.net, надеются, что это помогает
m_equipmentList.Sort(
Function (ByVal payItem1 As Schedule_Payitem, ByVal payItem2 As Schedule_Payitem)
Return payItem1.ResourceID.CompareTo(payItem2.ResourceID)
End Function)
, или можно наследовать Schedule_Payitem от IComparable и реализовать CompareTo и затем просто звонить m_equipmentList.Sort()
Это работает с использованием GDI + и класса битовой карты :
Bitmap oBmp(L"D:\\test.png");
HBITMAP hBmp;
oBmp.GetHBITMAP(0, &hBmp);
SendMessage(item,STM_SETIMAGE,IMAGE_BITMAP,(LPARAM)hBmp);
Некоторые предостережения. Вашему элементу управления нужен стиль SS_BITMAP. Не забудьте включить gdiplus.h и его библиотеку. Вам необходимо инициализировать (GdiplusStartup) и выключить GDI +. Вы освобождаете все системные ресурсы.
Лично я использую класс CPictureEx . Я думаю, что он не поддерживает png, но поддерживает bmp, jpeg и анимированный gif.
Я также использую графику Cairo для специального рендеринга. Каир поддерживает формат png.
Конечно, Каир немного сложнее использовать.
Я не думаю, что LoadBitmap
или любая другая простая функция GDI (например, LoadImage
) загрузит PNG.
Вы можете сохранить ваш ресурс в 32-битный BMP с помощью инструмента редактирования изображений, а затем используйте LoadImage
с LR_CREATEDIBSECTION
.
Или вы можете использовать библиотеку, которая загрузит файл PNG в DIBSECTION . GDI + загрузит PNG и JPG в дополнение к BMP.
Библиотеки автоматизации OLE также имеют интерфейс IPicture, который вы можете создать с различными типами изображений, а затем получить базовый DIBSECTION. Его неудобно использовать, особенно если вы не знакомы с COM. См. OleLoadPicture для начальной точки.
Вы проверяли библиотеку DevIL / OpenIL? Он следует стилю именования функций OpenGL и написан на старом добром C.
, который я успешно использовал в прошлом. Это также очень портативно.
Проверьте это здесь: http://openil.sourceforge.net/features.php