WxWindow не может иметь прозрачного фона и замены для негоC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 WxWindow не может иметь прозрачного фона и замены для него

Сообщение Anonymous »

Я создал этот класс C ++ для моего приложения WxWidgets. Растровый карта и изображение прозрачны. < /P>

Код: Выделить всё

#include 
#include 

class PouCharacter : public wxWindow
{
public:
PouCharacter(wxWindow* parent) : wxWindow(parent, wxID_ANY, wxDefaultPosition, wxSize(338, 302))
, m_Image("assets/png/Pousy.png", wxBITMAP_TYPE_PNG)
, m_Bitmap(m_Image)
{
Bind(wxEVT_PAINT, &PouCharacter::OnPaint, this);
}

void OnPaint(wxPaintEvent& evt)
{
wxPaintDC dc(this);
dc.DrawBitmap(m_Bitmap, 0, 0, true);
}

private:
wxImage m_Image;
wxBitmap m_Bitmap;
};
Я использую wxwindow , потому что я думал, что минимально мне нужно для рисования изображения. Проблема, с которой я столкнулся с этим, заключается в том, что он не рисует прозрачный фон. Всякий раз, когда я заполняю этот элемент некоторым DC, он не кажется прозрачным. Это забавный проект для изучения WXWIDGETS больше. Если это не прозрачно, это не здорово. Это в основном охватывает фон игры. Есть ли какое -либо решение для этого? Все еще черный фон. Таким образом, растровый карта прозрачна, но WxWindow не. Может, я смогу использовать какой -то другой контекст устройства для решения? Или я мог бы использовать что -то столь же легкое, как wxwindow < /code> < /p>
Решение: если вы ищете, я нашел решение на их документах
Оказывается, мне пришлось применить фоновый стиль, используя STEADBANDSTRAGHTSTYLE < /code> Функция
См. https://docs.wxwidgets.org/3.2/classwx_ ... 3542d523c7


Подробнее здесь: https://stackoverflow.com/questions/796 ... ent-for-it
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»