Newsgroup: it.comp.programmare.win32
Titolo: VC++ 6 e Bitmap - ci riprovo

Ciao ...
non voglio essere insistente ma sto iniziando a perdere le speranze di
ricevere una risposta ...
di cui ho bisogno ... sono agli inizi della programmazione VC++ e mi trovo
BLOCCATO in questo punto ..
quindi non posso procedere fino a che una buon anima si decide a dedicare 5
minuti per aiutarmi :-)
penso che per una persona esperta sia una sciocchezza .... ma proprio non
riesco a farlo.
il post era "VC++ 6 aiuto Bitmap, per favore" del 21 ...
proprio non ne vogliono sapere di funzionare questi cavolo di pulsanti con
bitmap ...
allora, metto un pulsante nella mia dialog.
imposto lo stile su OWNER DRAW ...
l'ID del pulsante è ID_OK
imposto la caption a "OK"
quindi creo le 4 bitmap per i 4 stati del pulsante, con i rispettivi
corretti ID ... cioè "OKU" , "OKX", "OKD" , "OKF"
INCLUSI GLI APICI ...........
ok .....
poi nella OnInitDialog() metto :
CBitmapButton bottone;
bottone.AutoLoad(ID_OK,this);
ma non FUNZIONA !!! ...... il pulsante non si vede nemmeno quando eseguo il
programma !
 (ovviamente la proprietà VISIBLE è attivata !)
sono disperato... proprio non capisco cosa c'è che non va ...
ho guardato su MSDN, DEJA, SULLA GUIDA, SUL LIBRO, ecc.ecc.
ho trovato decine e decine di esempi .... ed ho seguito tutto alla LETTERA
...
ma non vaaaaa :-((((
per favore, aiutatemi, altrimenti piccono il computer uno di questi giorni
:-)
ciao e grazie.
p.s
inutile dire che ho provato anche con differenti ID, captions, stili, ogni
ben di Dio ..
ma nada ..... non funzia
-- 
Posted from 
smtp5.libero.it
 [193.70.192.55] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ha scritto nel messaggio
news:000f01c08605$3d6a29a0$e9c81597@x...


 ha scritto nel messaggio
news:000f01c08605$3d6a29a0$e9c81597@x...


 ha scritto nel messaggio
news:uUAb6.8876$ew1.7...@news.infostrada.it...


Ciao ...
anche io ho avuto problemi con i Bitmap button, ma + che altro perchč io
volevo utilizzare delle bitmap mie senza doverle registrarle nelle
risorse... specificando cič il percorso delle mie bitmap.
Io ho fatto cosě č funziona... e secondo me č anche meglio in quanto si puň
parametrizzare il nome della bitmap e cambiarlo dall'esterno senza dover
ricompilare tutto il programma.....
/******************/
CBitmapButton *button = new CBitmapButton();
button->Create("", BS_PUSHBUTTON | BS_DEFPUSHBUTTON | BS_BITMAP | WS_TABSTOP
| WS_VISIBLE | WS_CHILD,  /*stili
m_rCoordinate, /* Rettangolo che definisce il bottone
pParentWnd, /* puntatore al padre CWnd
ID /* ID del controllo... un numero qualunque ...
);
CBitmap* bm = new CBitmap();
CString strImagePath, strBitmapName;
strImagePath.Format("\\percorso\\della\\bitmap");
strBitmapName.Format("nomeBitmap.bmp");
HIBITMAP hBitmap = (HBITMAP) ::LoadImage(0, strImagePath + strBitmapName,
IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
button->SetBitmap(hBitmap);
/******************/
Spero di esserti stato d'aiuto.
CIAO
Antonio

GRAZIE 1000 ragazzi ! ....
ora provo entrambe le soluzioni e vi farò sapere i risultati che ottengo.
grazie ancora, ciao

Si .. fammi sapere se ti funziona!!
Ciao

 ha scritto nel messaggio
news:000f01c08605$3d6a29a0$e9c81597@x...


m_bbsmile.EnableWindow(!m_bbsmile.IsWindowEnabled());
questo si, so come farlo ... :-)
______________________________
sono proprio disperato ... rimpiango già il mio caro VB ...
ma non voglio arrendermi ....
e prima di addentrarmi nella programmazione "seria" .... uno studio
approfondito delle MFC ... ecc.ecc.
vorrei almeno fare un classico "HELLO WORLD!" ...eheh, almeno per
incoraggiarmi a continuare !!!
beh ... a fare quello ci riesco già ...... diciamo magari che si tratta di
un messaggio HELLO WORLD  !
visualizzato quando si clicca su di un pulsante bitmap ....
già ... peccato che non ne voglia sapere di funzionare sto cavolo di
pulsante ...
_______________________________
vi ringrazio infinitamente, per la pazienza ed il tempo dedicatomi.
scusate la mia ignoranza e la lunghezza del messaggio.
ciaooooo :-)

si ... ho provato anche questo ....con e senza il VERIFY ....nella
OnInitDialog
m_bbSmile.AutoLoad(IDC_SMILE,this);
ho provato pure a definirla "al volo" una variabile CBitmapButton .....
con un
CBitmapButton m_bbSmile
e quindi
m_bbSmile.AutoLoad(IDC_SMILE,this);
..... ma niente.
insomma, ho provato di tutto, seguendo alla lettera i tutorials ed i vostro
consigli,
ma inutile dirlo, non ci sono riuscito :-((
ciao

 ha scritto nel messaggio
news:000f01c08605$3d6a29a0$e9c81597@x...


Ciao Michele !!!!
Dunque, io le bitmap le carico praticamente ogni giorno e ora ti elenco cosa
faccio io....
Dunque, hai fatto bene a mettere lo stile OWNER DRAW sul bottone dove vuoi
inserire l'immagine.
Tra le bitmap devi inserire le immagini vere e proprie che vuoi inserire, io
ne disegno sempre tre, UP - FOCUS - DOWN.
Cioč, UP quando il bottone non č premuto, DOWN quando č premuto e FOCUS
quando sono posizionata con il tab sul bottone. Queste bitmap le devi
chiamare ad esempio "IDB_BITMAPDOWN"  "IDB_BITMAPUP" e "IDB_BITMAPFOCUS". Le
devi proprio dichiarare cosě !!!! Ok ??? Con le virgolette !!! Altrimenti
non ti funziona !!!
Poi, nel CPP del dialogo dove devi inserire l'immagine tra le variabili
AFX_DATA_INIT carichi l'immagine in questo modo:
 if (!B_nomebottone.LoadBitmaps(_T("IDB_BITMAPUP"), _T("IDB_OBITMAPOWN"),
_T("IDB_BITMAPFOCUS")))
 {
  TRACE0("Tentativo di caricare la bitmap per i bottoni fallito\n");
  AfxThrowResourceException();
 }
dove il nomebottone č la variabile CBitmapButton che dichiarerai nel .H del
dialogo, non da CW !!!
Poi, nell' OnInitDialog devi assegnare le bitmap ai bottoni nel seguente
modo:
 VERIFY(B_nomebottone.SubclassDlgItem(IDOK, this));
 B_nomebottone.SizeToContent();
dove l'IDOK č l'Id associato al tuo bottone ok ???
Nel .H del dialogo dichiari la variabile associata alla bitmap tra quelle
protette in questo modo:
protected:
 CBitmapButton     B_nomebottone;
Io di solito faccio cosě.....prova e fammi sapere ! Bacioni Da.
--
Daniela.

Grazieeeeeeeeeeee !
scusate l'euforia, ma sono in piena crisi mistica :-)
per soddisfazione mi sono fatto una dialog con una ventina di pulsanti
bitmap,
alla faccia loro !  :-)
Daniela, Antonio e Matteo
grazie ancora a tutti voi per il tempo dedicatomi e per la pazienza,
mi avete salvato davvero dalla depressione :-)
ciaooo