Delphiturbo
Messages postés68Date d'inscriptionmercredi 31 octobre 2007StatutMembreDernière intervention29 juillet 2008
-
27 mai 2008 à 01:06
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 2022
-
27 mai 2008 à 05:50
Salut
mon Button BitBtn1 a une Ico "xxx"
Mais en Event OnMouseEnter va mon Button BitBtn1 prendre une nevelle ico :
procedure TForm1.BitBtn1CMMouseEnter(varMessage: TMessage);
var
ptWork : TPoint;
begin
GetCursorPos(ptWork);
if WindowFromPoint(ptWork) = BitBtn1.Handle then
begin
BitBtn1.Glyph : =nil;
ImageList1.GetBitmap(0, BitBtn1.Glyph);
end;
end;
En Event OnMouseLeave mon Button dois prendre sa premiere Ico "xxx" et pas comme ca une autre Icon de ListImage1: procedure TForm1.BitBtn1CMMouseLeave(varMessage: TMessage);
var
ptWork : TPoint;
begin
GetCursorPos(ptWork);
if WindowFromPoint(ptWork) <> BitBtn1.Handlethen
begin
BitBtn1.Glyph : =nil;
ImageList1.GetBitmap(1, BitBtn1.Glyph); // ok, mais je voudrais prendere l'Ico avant l' Event OnMouseEnter
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 202235 27 mai 2008 à 05:45
1) utilise le code que je t'ai donner dans ton precedent message pour implementer les evenement OnMouseEnter et OnMouseLeave, ce sera plus pratique pour faire cela et t'evitera a chaque fois de verifier sur quoi viens d'entrer la souris, ou de sortir.
destructor TBitBtn.Destroy;
begin
fEnterBitmap.Free;
fLeaveBitmap.Free;
inherited Destroy;
end;
procedure TBitBtn.DoBitmapChange(Sender: TObject);
begin
Changed;
end;
procedure TBitBtn.SetELBitmap(index: integer; value: TBitmap);
begin
case index of
0 : fEnterBitmap.Assign(value);
1 : fLeaveBitmap.Assign(value);
end;
end;
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 202235 27 mai 2008 à 05:50
Sincerement, je deteste les ImageList, je prefere largement travailler avec les ressources ou avec des pack dynamique ou tout simplement avec des ressources externes.
j'aime pas trop le stockage des images dans le DFM ça le rend lourd.