pour les besoins de l'exemple j'ai laissé la création et la destruction du TIcon dans la procédure "OnTimer" mais il est préférable de le créer une fois au début et de le libérer à la fin de l'application
explications:
StatusBar1.Perform(SB_SETICON, // message a envoyer
1, // N° du panel (-1 = simple panel) voir ps
aIcon.Handle);// Handle de l'icône a afficher 0 pour l'effacer.
rebeldedagoba
Messages postés1Date d'inscriptionjeudi 20 août 2009StatutMembreDernière intervention 5 octobre 2009 5 oct. 2009 à 23:33
comment instaler une photo dans un dossie jounne informatique ou dans une clè usb c'est qulquin le sait je lui serait grè de mon fair par sois un logiciel ou une formule je vous remercie bien d'avence.pour me lon voyer voissi mon E-mail:DAGOBA1982@HOTMAIL.COM UN GRAND MERCI
eclems
Messages postés104Date d'inscriptionsamedi 23 décembre 2000StatutMembreDernière intervention 9 mai 2013 5 oct. 2009 à 15:45
merci mais ca ne sanime pas je te remercie mais je n'ai rien trouver sur le net et meme torry.net
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 201610 3 oct. 2009 à 00:52
Ca aurait peut-être mieux sa place en snippets ? Sinon, peux-tu nous proposer un zip avec l'exemple dedans, c'est toujours plus agréable que de devoir ouvrir un projet et copier-coller le code dedans :)
6 oct. 2009 à 18:41
6 oct. 2009 à 13:25
- ingrédients
- recette
- commentaire du chef
:o)
Cordialement, Bacterius !
6 oct. 2009 à 12:56
1 StatusBar
1 ImagaList
1 Timer
et une seule procédure ... "OnTimer"
procedure TfrmMain.Timer1Timer(Sender: TObject);
const
SB_SETICON = WM_USER+15;
var
aIcon: TIcon;
begin
aIcon := TIcon.Create;
try
ImageList1.GetIcon(ImageList1.Tag, aIcon);
ImageList1.Tag := (ImageList1.Tag+1) mod ImageList1.Count;
StatusBar1.Perform(SB_SETICON, 0, aIcon.Handle);
StatusBar1.Perform(SB_SETICON, 3, aIcon.Handle);
finally
aIcon.Free;
end;
end;
pour les besoins de l'exemple j'ai laissé la création et la destruction du TIcon dans la procédure "OnTimer" mais il est préférable de le créer une fois au début et de le libérer à la fin de l'application
explications:
StatusBar1.Perform(SB_SETICON, // message a envoyer
1, // N° du panel (-1 = simple panel) voir ps
aIcon.Handle);// Handle de l'icône a afficher 0 pour l'effacer.
pour + d'explications voir ici:
http://msdn.microsoft.com/en-us/library/bb760755%28VS.85%29.aspx
simple et efficace :D
ps: chez moi en "SimplePanel" ça ne fonctionne pas !!!
6 oct. 2009 à 08:21
ImgIndex: Integer;
procedure TForm1.StatusBar1DrawPanel(StatusBar: TStatusBar;
Panel: TStatusPanel; const Rect: TRect);
begin
// animation Panels[0] :
ImageList1.Draw(StatusBar1.Canvas, 1, 3, ImgIndex);
// animation Panels[1] :
ImageList1.Draw(StatusBar1.Canvas, StatusBar1.Panels[0].Width + 2, 3, ImgIndex);
StatusBar1.Panels[2].Text:=TimeToStr(Now);
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Inc(ImgIndex);
if ImgIndex = ImageList1.Count then
ImgIndex := 0;
StatusBar1.Invalidate;
end;
procedure TForm1.FormActivate(Sender: TObject);
begin
ImgIndex := 0;
StatusBar1.Panels[0].Style := psOwnerDraw;
StatusBar1.Panels[1].Style := psOwnerDraw;
end;
5 oct. 2009 à 23:33
5 oct. 2009 à 15:45
3 oct. 2009 à 00:52
Cordialement, Bacterius !