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 !

SCROLLING DANS UN TIMAGE


Information sur la source

Catégorie :Graphique Classé sous : scroll, scrollbox, scrollbar, scrolling, bitmap Niveau : Débutant Date de création : 04/04/2006 Vu / téléchargé: 5 308 / 976

Note :
6,5 / 10 - par 2 personnes
6,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

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


Description

Pour faire défiler un grand Bitmap dans une TImage on utilise généralement une TScrollBox.
Mais voici un petit truc simple que je trouve beaucoup plus ergonomique que les ScrollBars: il suffit que cliquer sur l'image et de bouger la souris pour faire translater l'image...

 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de JulioDelphi le 04/04/2006 19:36:19 administrateur CS

bravo, c'est vrai que c'est plus propre sans les scrolls.
et en si peu de code, et propre... du caribensila quoi =)

signaler à un administrateur
Commentaire de Delphiprog le 04/04/2006 22:04:13 administrateur CS

On passe souvent à côté des choses simples et évidentes mais Ô combien puissantes.
Là, moi je dis bravo à Caribensila dont je salue le come back.

signaler à un administrateur
Commentaire de cirec le 05/04/2006 00:18:19 administrateur CS

Bien, simple mais bien ...
Si tu mets la propriété IncrementalDisplay à True (du TImage) il n'y a plus scintillement lors du Scroll :)

@+
Cirec

signaler à un administrateur
Commentaire de Nicolas___ le 05/04/2006 13:32:31

C'est vrai que c'est excellent mais en voyant ton titre et ta description j'imaginais autre chose (genre copier l'image ds une variable bitmap et la recopier ,point par point avec scanline par exemple, sur les pixels de ton TImage, mais enfin je ne pense pas que ce serait aussi simple que ca et ... je ne sais pas non plus si je me suis fais comprendre ! Mais ca permettrait de ne pas etre dependant d'un panel au d'autre chose)

Sinon excellent

Ciao

signaler à un administrateur
Commentaire de japee le 06/04/2006 03:24:25 administrateur CS

procedure TForm1.FormCreate(Sender: TObject);
begin
  Panel1.DoubleBuffered := True; // sans commentaires... ;-)
end;

signaler à un administrateur
Commentaire de cirec le 06/04/2006 10:48:27 administrateur CS

Tiens un revenant :-)
Bonjour Monsieur Japee,
Effectivement en règle générale je dirais oui pour le Doublebuffered et c'est la première chose que j'ai faite, mais chez moi, cette fois, ça n'a aucun effet (l’image continue de scintiller).

Par contre avec IncrementalDisplay à True la ça fonctionne ????

Alors est ce que tu l'as testé sur ce code où tu l'as mis par habitude ?

@+
Cirec

signaler à un administrateur
Commentaire de Caribensila le 06/04/2006 11:01:00

Merci à tous.
Oui, j'ai oublié le DoubleBuffered. Mais il faut dire que je n'ai pas de scintillement sur mon PC. Est-ce dû à ma config, à ma carte graphique??
Et, effectivement, Quid du DoubleBuffered et du IncrementalDisplay? Comment savoir s'il faut les utiliser (car ça consomme)?
Chez moi, tout est kif-kif pareil  :)

signaler à un administrateur
Commentaire de Nicolas___ le 06/04/2006 13:34:43

si le DoubleBuffered ne marche pas c'est parce que c'est utilisé sur un panel et que ca ne marche pas dans ce cas la

signaler à un administrateur
Commentaire de Nicolas___ le 06/04/2006 13:38:42

Mais perso je n'avais pas de prob chez moi concernant un quelconque scintillement
(Bon par  rapport a mon explication du dblbuffered je l'ai lu sur un commentaire de la source DODGE(section jeu), le commentaire etait de foxi...)
Et vu que tu utilise un Panel a l'arriere ...
Ciao

signaler à un administrateur
Commentaire de cirec le 06/04/2006 13:40:44 administrateur CS

Oui, alors justement, hier le DoubleBuffered ne donnait rien, seul l'IncrementalDisplay permettait de supprimer le scintillement (chez moi) et aujourd'hui sans rien (reconstruit pas recompilé au cas ou ...) ça fonctionne très bien avec la quasi même occupation mémoire (il etait en veille prolongé)

@+
Cirec

signaler à un administrateur
Commentaire de cirec le 06/04/2006 13:48:32 administrateur CS

Salut Nicolas__,
le panel possède également la propriété DoubleBuffered et normalement ça devrait fonctionner il n'y pas de raison.
Le DoubleBuffered c'est juste un BMP intermédiaire qui sert à dessiner en dehors de la vue et une fois terminé il est affiché à l'écran ce qui a pour effet de retirer les scintillements s'il y en avait bien sur.

@+
Cirec

signaler à un administrateur
Commentaire de Nicolas___ le 06/04/2006 17:05:15

" ... et normalement ça devrait fonctionner ..." c'est bien ca le probleme avec l'informatique !
Enfin je vous tenais juste au courant de ce que j'avais lu ...
Ciao

signaler à un administrateur
Commentaire de f0xi le 07/04/2006 13:34:56 administrateur CS

moui ... bien ... un peu simpliste mais bien ...


pour le panel :

Panel1.DoubleBuffered := true;

tout simplement ^^

signaler à un administrateur
Commentaire de MAURICIO le 07/04/2006 15:28:39

Bonjour Caribensila,
c' est carrement à cette astuce que j' ai pensé lorsque j' ai vu le titre :)
Simple et efficace, du tout bon ... A+

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Affichage d'un bitmap avec scrollbar [ par jmic ] Bonjour, Je cherche, depuis bien longtemps, le moyen d'afficher dans une fiche (qui contient d'autres choses) un fichier bitmap de grande taille, avec ScrollBox vers Timage [ par stanilou ] Bonjour,J'ai un ScrollBox dans ma form et je voudrais le mettre en image (bmp, ou Timage) mais je n'y arrive point.J'ai essayé: ScrollBox1.Brush.Bitma Position d'une scrollbar dans une ScrollBox [ par lp0683 ] Bonjour à tous :)J'ai un petit soucis, malgrè que je me soit baladé dans les diverse surjet parlant de ca, j'ai toujours rien trouvé.Je creer dynamiqu Problème affectation dynamique ImageList à un ComboBoxEx.Images [ par informatixo ] Bonsoir le forum,J'ai un problème avec le composant ComboBoxEx et plus particulièrement avec sa propriété Images.J'ai créé une procédure qui permet de évènement déplacement ScrollBar [ par zwyx ] Bonjour à tous,Existe-t-il un évènement qui réagit au déplacement d'un ascenceur (scrollbar) ?Je travaille sous Delphi6. J'ai deux tableaux de type TS Scroll notification dans un TRichEdit [ par chesnetda ] Bonjour à tous,J'ai un question à priori simple, mais usr laquelle je butte depuis plusieurs jours: je voudrais savoir quand un utilisateur clique sur Position Left maximum ? [ par jnmchl ] Bonsoir,Je place dynamiquement des boutons dans un scrollbox très très large ...Le problème c'est que à partir du moment ou le X càd le button.left dé accelere le scroll [ par madjido ] salutvoila j'ai 2 table tadodataset (maitre detail)j'utilise l' evenement afterscroll et mon probleme est que je veux que l'utiliateur quand il clique scrallbar delphi [ par faster007 ] bonjour, j'ai un petit soucis .je suis super debutant en delphi .je développe une sorte de navigateur internet . pour une borne interactive en magasin Scrollbar.Max:=Image1.Width*2 ! Is it possible ? [ par MiniProgramer ] salutje voudrais faire le Scrollbar max et le Scrollbar Min comme ça :scrollbar1.Max:=Image1.Width * 2;scrollbar1.M


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

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,421 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é.