Probleme canvas

Signaler
Messages postés
25
Date d'inscription
vendredi 15 août 2003
Statut
Membre
Dernière intervention
19 janvier 2005
-
Messages postés
1023
Date d'inscription
dimanche 1 août 2004
Statut
Membre
Dernière intervention
17 août 2008
-
bonjour à tous!

voila j'ai donc une fentre normal avec un speedbutton dessus.

je voudrais que lorsque j'appuie sur le speed button, des images misent dans une imagelist vien s'afficher par dessus le speedbutton sans gèner son fonctionnement.

j'ai casiment réussi selement y me reste un gros probleme quand meme!
quand je fait
imagelist1.Draw(form1.Canvas,20,20,random(2),false);

(false pour pas que ça gène le speedbutton)

Le gros hic, c'est que l'image ce retrouve en dessous le speedbutton vus que jutilise le canvas de form1.
un speedbutton n'eyant pas de canvas...

que dois-je fair pour que l'image générée ce retrouve au dessus du speedbuttton sans le géné.

(jai déja essayé de metre un Timage par dessu mon speedbutton et le mettre en enabled=false pour pouvoir utiliser son canvas mais ça ne marche pas non plus).

9 réponses

Messages postés
25
Date d'inscription
vendredi 15 août 2003
Statut
Membre
Dernière intervention
19 janvier 2005

je viens d'oublier quelque chose d'important:
Grand merci à vous :)
Messages postés
436
Date d'inscription
jeudi 9 janvier 2003
Statut
Membre
Dernière intervention
5 février 2015

Essaie :

ImageList1.GetBitmap(random(2),SpeedButton1.Glyph);


DrJerome
Messages postés
436
Date d'inscription
jeudi 9 janvier 2003
Statut
Membre
Dernière intervention
5 février 2015

pardon, j'ai répondu trop vite

DrJerome
Messages postés
436
Date d'inscription
jeudi 9 janvier 2003
Statut
Membre
Dernière intervention
5 février 2015

var
TB:TBitmap;
begin
     TB:=TBitmap.Create;
     TB.Height:=speedbutton1.Height;
     TB.Width:=speedbutton1.Width;
     ImageList1.Draw(TB.Canvas,0,0,random(2),false);
     SpeedButton1.Glyph:=TB;
     TB.Free;
end;


j'ai que ça à te proposer dans l'expectative d'une réponse adaptée...

N'oubliez pas de cliquer sur Réponse acceptée si c'est OK

DrJerome
Messages postés
436
Date d'inscription
jeudi 9 janvier 2003
Statut
Membre
Dernière intervention
5 février 2015

Pour la couleur et le centrage (j'ai mis le boolean à true et changé un peu les coordonnées) :

var
TB:TBitmap;
begin
     TB:=TBitmap.Create;
     TB.Height:=speedbutton1.Height;
     TB.Width:=speedbutton1.Width;
     ImageList1.Draw(TB.Canvas,3,3,random(2),true);
     SpeedButton1.Glyph.Assign(TB);;
     TB.Free;
end;


N'oubliez pas de cliquer sur Réponse acceptée si c'est OK

DrJerome
Messages postés
2226
Date d'inscription
dimanche 5 octobre 2003
Statut
Modérateur
Dernière intervention
18 novembre 2010
13
si tu veux bidouiller, tu peux simplement mettre un TImage en dessous de ton SpeedButton et mets ton button en "flat" mais c pas propre je l'avoue. Si la soluce de DrJerome fonctionne, alors c bien mieux

N'oubliez pas de cliquer sur Réponse acceptée lorsque ma réponse vous convient ! ;)

-------------------------------------------
http://diabloporc.free.fr : mon site refait ! Delphi power !
Messages postés
25
Date d'inscription
vendredi 15 août 2003
Statut
Membre
Dernière intervention
19 janvier 2005

alors pour vous répondre, le Glyph est deja utilisé sur mon speedbutton.

et javai deja essayé en mettant par dessu un Timage, j'ai résaayé en mettant le boutton en flat mais le probleme c'est que l'mage bloque l'accè au boutton et je peux plus cliker dessus...
Messages postés
2226
Date d'inscription
dimanche 5 octobre 2003
Statut
Modérateur
Dernière intervention
18 novembre 2010
13
en DESSOUS j'ai dit :/

N'oubliez pas de cliquer sur Réponse acceptée lorsque ma réponse vous convient ! ;)

-------------------------------------------
http://diabloporc.free.fr : mon site refait ! Delphi power !
Messages postés
1023
Date d'inscription
dimanche 1 août 2004
Statut
Membre
Dernière intervention
17 août 2008
2
Mais dites-moi,
Pouquoi ne pas dessiner sur
SpeedButton1.Glyph.Canvas ???

c'est tellement plus simple.

Apres pour ce qui est du TImageList, c'est dit au Dessus.

@++ Florent

Si tu ne te plantes pas ......
tu ne poussera jamais