Bonjour à tous,
Je mets ce post mais peut être y avez vous déjà répondu (en tout cas j'ai pas trouvé de réponse sur ce sujet).
Mon problème est le suivant:
je veux créer des boutons cliquable (wxBitmapButton) ayant une image avec un fond transparent.
Les images que j'utilise possède effectivement des fonds transparents (ce sont des .png, .tga, .bmp). Cependant mes boutons apparaissent sous un fond blanc.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 //Bouton "Historique" wxImage* hist = new wxImage (); hist->AddHandler(new wxPNGHandler); hist->LoadFile(wxT("./Images/historique.png"), wxBITMAP_TYPE_PNG); wxBitmap* history = new wxBitmap (*hist); historique = new wxBitmapButton( this, ID_HISTORIQUE, *history, wxPoint(400,200),wxSize(165,94));
J'ai bien essayé de créer une nouvelle classe "Bouton" héritant des wxBitmapButton
et dans laquelle j'ai mis une fonction une fonction OnPaint(...).
Code : Sélectionner tout - Visualiser dans une fenêtre à part class Bouton : public wxBitmapButton
Rien à faire, mes boutons ont toujours ce fameux fond blanc.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 void Bouton::OnPaint(wxPaintEvent& evt) { wxPaintDC MonDc(this); wxImage* fond = new wxImage (); fond->AddHandler(new wxPNGHandler); fond->LoadFile("./Images/historique.png", wxBITMAP_TYPE_PNG); wxBitmap* bitmap = new wxBitmap (*fond); MonDc.DrawBitmap(*bitmap, 0, 0); } ... //Création du bouton Bouton* bouton = new Bouton(this,ID_HISTORIQUE,*history,wxPoint(400,200),wxSize(165,94));
Donc si vous avez déjà rencontré ce problème, tout conseil, bout de code etc... sera le bien venu. Merci d'avance.
Je programme en C++ avec Visual Studio 2005 sous windows XP.
Partager