Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Можно ли создать .exe с компилированными рисунками


Автор: Pugach 5.2.2015, 14:22
Здравствуйте!
Проблема следующая:
В простом приложении при изменении свойства listindex для combobox1 в picturebox1 подгружаются различные рисунки (всего 3 шт.) .


Можно ли сделать так, чтобы после создания exe файла эти рисунки входили в саму программу.
Чтобы программа не пыталась потом найти эти файлы.

Код

Private Sub Combo1_Click() 
   If Combo1.ListIndex = 0 Then  Picture1.Picture = LoadPicture(App.Path & "\" & "0.jpg")
   If Combo1.ListIndex = 1 Then    Picture1.Picture = LoadPicture(App.Path & "\" & "1.jpg")    
   If Combo1.ListIndex = 2 Then    Picture1.Picture = LoadPicture(App.Path & "\" & "2.jpg")
End Sub

Автор: Pugach 5.2.2015, 15:26
Всем спасибо. Разобрался.
Нужно использовать файл ресурсов.
Только пришлось переделать рисунки из jpeg в bmp, т.к. с типом "Custom" возникала ошибка.
Код:
Код

If Combo1.ListIndex = 0 Then Picture1.Picture = LoadResPicture(101, Bitmap)
If Combo1.ListIndex = 1 Then Picture1.Picture = LoadResPicture(102, Bitmap)
If Combo1.ListIndex = 2 Then Picture1.Picture = LoadResPicture(103, Bitmap)

Автор: Akina 5.2.2015, 16:40
Цитата(Pugach @  5.2.2015,  16:26 Найти цитируемый пост)
Код:
Код

If Combo1.ListIndex = 0 Then Picture1.Picture = LoadResPicture(101, Bitmap)
If Combo1.ListIndex = 1 Then Picture1.Picture = LoadResPicture(102, Bitmap)
If Combo1.ListIndex = 2 Then Picture1.Picture = LoadResPicture(103, Bitmap)


Лучше ElseIf. 
Ещё лучше Select Case. 
Или совсем просто:
Код

Picture1.Picture = LoadResPicture(101+Combo1.ListIndex, Bitmap)

Автор: Pugach 5.2.2015, 16:46
А правильно я понял, что jpeg файл никак нельзя использовать? (с типом "Custom")

Автор: Akina 5.2.2015, 18:44
Pugach, ты ж грамотный? ну дык и загляни, значить, в https://msdn.microsoft.com/en-us/library/aa244130(v=vs.60).aspx... там всё-всё сказано, что можно загружать непосредственно из ресурсов. 
Ну и ещё https://msdn.microsoft.com/en-us/library/aa268078(v=vs.60).aspx почитай - что вобще туда может грузиться. То, что есть тут, но отсутствует в первой справке, придётся сперва слить в файл на диске (каталог %TEMP% подойдёт) и из него уже грузить в объект.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)