Конструктор wxStaticBitmap принимает wxGDIImage вместо wxBitmap

Я пытаюсь создать статическое растровое изображение, но конструктор принимает только wxGDIImages.
Вот код из FormBuilder:

wxStaticBitmap* tmtBitmap = new wxStaticBitmap( this, wxID_ANY, wxBitmap( wxT("directory"), wxBITMAP_TYPE_ANY ), wxDefaultPosition, wxDefaultSize, 0 );

Есть ли способ конвертировать wxBitmap в wxGDIImage? Или создать wxGDIImage с учетом каталога?

Может быть, есть другой способ сделать это.

Благодарю.

0

Решение

wxStaticBitmap принимает wxBitmap в своем конструкторе (wx API-Doc)
Сообщение об ошибке, выдаваемое компилятором, может вводить в заблуждение
Я предполагаю, что вы видите что-то вроде этого:

include/wx/msw/statbmp.h:80: note: candidates are: wxStaticBitmap::wxStaticBitmap(const wxStaticBitmap&)
include/wx/msw/statbmp.h:34: note:                 wxStaticBitmap::wxStaticBitmap(wxWindow*, wxWindowID, const wxGDIImage&, const wxPoint&, const wxSize&, long int, const wxString&)
include/wx/msw/statbmp.h:25: note:                 wxStaticBitmap::wxStaticBitmap()

Поскольку это зависит только от контекста, кажется, что проблема с вашим this указатель, либо вы не «внутри» wxWindow
или ваш компилятор не может определить статический тип. Вы можете использовать что-то вроде этого для проверки: (не делайте этого в производительном коде)

wxStaticBitmap* tmtBitmap = new wxStaticBitmap( (wxWindow*)NULL, wxID_ANY, wxBitmap( wxT("directory"), wxBITMAP_TYPE_ANY ), wxDefaultPosition, wxDefaultSize, 0 );

или же

wxStaticBitmap* tmtBitmap = new wxStaticBitmap( (wxWindow*)this, wxID_ANY, wxBitmap( wxT("directory"), wxBITMAP_TYPE_ANY ), wxDefaultPosition, wxDefaultSize, 0 );
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]