|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Nov 2005
Messaggi: 10
|
[C++] wxWidgets disegnare bitmap
Help!!! Sto impazzendo!!!!
Sono riuscito a caricare una bmp (o altri formati) su di un pannello... Ora però voglio poter cambiarla con un'altra immagine dello stesso formato... Ad esempio quando l'utente clicca su un bottone appare un altra immagine e si toglie quella di prima... Solo ke questo puntualmente non avviene, ma rimane sempre la vecchia immagine. Ho provato ad utilizzare la funzione refresh(), a costruire un nuovo DC nell'evento del bottone... e molti altri tentativi!!! ma nulla... ![]() Tu buon anima che leggi questo topic e conosci la soluzione non andare via senza aver aiutato un uomo in disperazione! ![]() |
![]() |
![]() |
![]() |
#2 |
Junior Member
Iscritto dal: Nov 2005
Messaggi: 10
|
Sempre peggio... avrò fatto 1 milione di tentativi ma nisba!!! ci deve pur essere qualcuno ke lo sa no?
|
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Nov 2003
Messaggi: 980
|
Fai vedere un po' di codice, è più facile vedere l'errore
![]() |
![]() |
![]() |
![]() |
#4 |
Junior Member
Iscritto dal: Nov 2005
Messaggi: 10
|
Codice
Ecco il codice. Ho messo solo la funzione per l'evento disegno e quella per l'evento menu apri... è solo una prova. Praticamente voglio ke quando uno clicca su Apri dal menu File cambia l'immagine da Ciao2 a Ciao3, tutto qui.
Codice:
pannello::pannello(wxWindow * parent) : wxPanel(parent, -1) { nomeFile = "C:\\ciao2.jpg"; } void disegnaImg(wxDC &dc, wxString name) { wxImage::AddHandler(new wxJPEGHandler); wxImage immagine(name, wxBITMAP_TYPE_JPEG, -1); wxBitmap imgbmp(immagine, -1); dc.SetBrush(*wxTRANSPARENT_BRUSH); dc.DrawBitmap(imgbmp, 0, 0, -1); } void pannello::OnPaint(wxPaintEvent &event) { wxPaintDC dc(this); dc.SetBrush(*wxTRANSPARENT_BRUSH); disegnaImg(dc, nomeFile); } void pannello::OnMenuApri(wxMenuEvent &event) { nomeFile = "C:\\ciao3.jpg"; Refresh(); } |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:32.