Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

DÉFILEMENT HORIZONTAL OU VERTICAL


Information sur la source

Catégorie :Divers Classé sous : défilement, message, bitmap, effet, paramétrable Niveau : Débutant Date de création : 31/07/2008 Vu : 2 685

Note :
4 / 10 - par 1 personne
4,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

Description

Réalise un défilement horizontal, en quelque clicks,
- Ses défauts:
Défile une image (Une parfaite fluidité).  

- Laisse une traînée d'escargot,
  - Je ne sais s'il épuise les ressources machines,
- Avantage
  - Paramétrable,
  - Une parfaite fluidité dans le défilement,
  - Parait sans défaut...

J'aimerais bien que quelqu'un améliore cette source, pour Delphi, beacoups de langages possèdent des fonctions préddéfinies. (Merci)
 

Source

  • unit Unit1;
  • interface
  • uses
  • Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  • Dialogs, StdCtrls;
  • type
  • TForm1 = class(TForm)
  • Button1: TButton;
  • Button2: TButton;
  • procedure FormCreate(Sender: TObject);
  • procedure Button2Click(Sender: TObject);
  • procedure FormPaint(Sender: TObject);
  • procedure FormDestroy(Sender: TObject);
  • procedure Button1Click(Sender: TObject);
  • procedure FormClose(Sender: TObject; var Action: TCloseAction);
  • private
  • { Private declarations }
  • public
  • { Public declarations }
  • end;
  • var
  • Form1: TForm1;
  • debute : boolean; bitmap : tbitmap;
  • i : integer;
  • implementation
  • {$R *.dfm}
  • procedure TForm1.FormCreate(Sender: TObject);
  • begin
  • debute := false;
  • i:=0;
  • debute:=false;
  • Bitmap:=Tbitmap.Create ;
  • end;
  • procedure TForm1.Button2Click(Sender: TObject);
  • begin
  • bitmap.Create;
  • bitmap.LoadFromFile('c:\delphi.bmp'); // un Label avec copy écran, et suivre avec paint brush
  • debute:=true;
  • form1.Repaint ;
  • end;
  • procedure TForm1.FormPaint(Sender: TObject);
  • begin
  • while (debute) do
  • begin
  • Application.ProcessMessages ;
  • form1.Canvas.Draw(i,400,bitmap); // dimension de l'image...
  • i:=i+1; if i>form1.width then i:=-150; // mieux qu'un timer
  • Sleep(5); // vitesse progression
  • Application.ProcessMessages ; // permet de voir ce qui se passe ailleur
  • end;
  • end;
  • procedure TForm1.FormDestroy(Sender: TObject);
  • begin
  • bitmap.free
  • end;
  • procedure TForm1.Button1Click(Sender: TObject);
  • begin
  • debute:=false;
  • end;
  • procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
  • begin
  • debute:=false; // Sinon on réalise uniquement un arrêt sur image
  • end;
  • end.
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormPaint(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  debute : boolean; bitmap : tbitmap;
  i : integer;
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
debute := false;
i:=0;

debute:=false;
Bitmap:=Tbitmap.Create ;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
 bitmap.Create;
 bitmap.LoadFromFile('c:\delphi.bmp');  // un Label avec copy écran, et suivre avec paint brush
 debute:=true;

form1.Repaint ;
end;

procedure TForm1.FormPaint(Sender: TObject);
begin

while (debute) do
begin
Application.ProcessMessages ;
form1.Canvas.Draw(i,400,bitmap); // dimension de l'image...
i:=i+1;    if i>form1.width then i:=-150; // mieux qu'un timer
 Sleep(5);         // vitesse progression
Application.ProcessMessages ;    // permet de voir ce qui se passe ailleur
end;
end;


procedure TForm1.FormDestroy(Sender: TObject);
begin
bitmap.free
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
debute:=false;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
debute:=false; // Sinon on réalise uniquement un arrêt sur image
end;

end.

Conclusion

Placer juste 02 boutons (button1 et button2), une image dans la racine (C),
Coller le code, cliquer sur les 02 Boutons
cliquer sur events de la form1
   onPaint
   OnDestroy
   onClose.
 

Commentaires et avis

signaler à un administrateur
Commentaire de cantador le 31/07/2008 11:10:16

Bonjour cavalier2400,

je hem comment dire..
cette source pose plus de problèmes qu'elle n'en résout.
et il n'y a rien de paramètrable..
Quand au défilement lui-même tu es passé justement à côté de toutes les difficultés.

C'est plus une invitation à participer que tu nous proposes qu'un programme qui apporte quelque chose..

si tu nous offres l'apéro..

Plus sérieusement, jette un oeil sur ce source qui fait bouger des bitmap.
http://www.delphifr.com/codes/TRIUMVIRAT_40845.aspx

signaler à un administrateur
Commentaire de cavalier2400 le 31/07/2008 11:36:32

Wa-hoo, C'est super votre programme, c'est ce que je voulais apprendre, n'empêche que mon essai (barbare), mérite quelques retouches... de la part du CANTADOR. merci

signaler à un administrateur
Commentaire de MAURICIO le 31/07/2008 18:07:25

Cantador doit avoir la voix douce car tu as aprécié son chant ^^
Même remarque que Cantador donc j' en rajoute pas ...
A+

signaler à un administrateur
Commentaire de Warium le 01/08/2008 21:56:03 4/10

Vous avez dupliquez l'initialisation de la valeur 'debute' dans le message FormCreate. Merci quand même.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Progressbar [ par cincap ] Bonjour,Quand on a une fonction pour créer un effet sur un bitmap par ex: effet sépia.En utilisant le composant TProgressBar, qu'est ce qui définit le um ''message-box'' ayant deux bouton à faire fonctionner [ par yeho ] Salut à tous les Developpeurs! J'ai une table appelé ''reserves'' et une autre appelé ''occupation''. J'ai juste un problème de faire appairaitre un Message conditionné. Si ''OUI''(ok)...Si '''NON''(Sauvegarde!) [ par jennybless ] Salut Tout le monde! J'ai besoin de votre aide s'il vous plait. Au fait, dans les codes ci-dessous je demande de filtrer le matricule demandé via mo Un petite codification têtue. Comment y resoudre? [ par new2000 ] Mes salutations! Voilà encore un autre tout petit code que j'ai écrit à mettre dans l'evenèment BeforePost du AdoTable1.Il marche bien... Cela veut idSMTP - Message : Authorization failed [ par raneria ] Salut!!Peut-être que vous avez vu ce message car je suis dans l'impasse total. Pourquoi quand j'envoie un message avec idsmtp, il y a toujours le mess Probleme de reception de texte avec TClientSocket [ par obitskater ] Bonjour, voilà je suis en train de créer un chat réseau dans le cadre de mes études.Sur une même form je place mon socket serveur et mon socket client message windows et lecteur cd [ par neil ] bonjours,je voudrai savoir comment faire pour supprimer le message de windows lorsqu'on essaye d'acceder au lecteur de cd alors qu'il n'y a pas de cd. Impression d'un bitmap : Page Blanche [ par Francky23012301 ] Salut à tous,Je travaille actuellement avec le composant TGraphXY de Kénavo. J'ai besoin de pouvoir l'imprimer en noir et blanc, j'utilise donc ce cod Image en transparence [ par sisi231 ] Voilà mon problème :J'ai d'une part ma fiche avec un fond fait par une mosaïque d'une image (facile à programmer), et d'autre part un bitmap en mémoir TServerSocket : Indexage des clients [ par rafalus ] Bonjour,développant actuellement un programme fonctionnant sur internet en utilisant les composants TServerSocket et TClientSocket, j'en suis venu à r


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,702 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.