Ci sono molteplici soluzioni al problema che vuoi affrontare.
Io te ne espongo una, forse quella più semplice e intuitiva.
Prima di tutto devi inserire un componente TImageList che avrà il compito di "contenere" le immagini, solo di tipo Bitmap, che vuoi fare alternare nel pulsante.
Quindi, devi inserire all'interno di questo oggetto le due picture che ti interessano, facendo attenzione alle dimensioni.
Successivamente puoi utilizzare una variabile temporanea, di tipo Bitmap che potrai utilizzare nell'assegnamento al pulsante.
Infatti, attraverso il metodo getBitmap dell'oggetto TImageList potrai memorizzare nella variabile temporanea l'immagine che ti interessa.
Passo al codice che forse rende meglio le idee.
Come dicevo prima, attraverso il metodo GetBitmap, al quale passi come parametro l'indice dell'immagine che ti interessa e la variabile temporanea che contiene l'immagine.codice:procedure TForm1.Button1Click(Sender: TObject); var myImage: TBitmap; begin myImage := TBitmap.Create; try if ImageList.GetBitmap(button1.Tag ,myImage) then button1.Glyph.Assign(myImage); if (button1.Tag = 0) then begin inizia Scansione' MfTreeExplorer1.Scan; button1.caption := 'Cancella Scansione'; button1.Tag := 1; end; else begin MfTreeExplorer1.Cancel; button1.caption := 'Inizia Scansione'; button1.Tag := 0; end; finally myImage.Free; end; end;
Successivamente dovrai assegnare al pulsante il riferimento all'immaginme che hai prelevato dal contenitore, attraverso il metodo button1.Glyph.Assign.
Non ho molto tempo per descrivere meglio il funzionamento, ma le idee chiave te le ho indicate.
Ora dovrai fare qualche prova!
Ciao![]()

Rispondi quotando