jadsof
Messages postés11Date d'inscriptionvendredi 26 septembre 2003StatutMembreDernière intervention 5 février 2008
-
26 août 2005 à 09:21
jadsof
Messages postés11Date d'inscriptionvendredi 26 septembre 2003StatutMembreDernière intervention 5 février 2008
-
26 août 2005 à 19:10
Bonjour,
J'aimerais avoir quelques conseils pour l'élaboration d'une application graphique:
Le but et de construire un programme permettant de créer une liste de pages (Chemin de fer), dans chacune des pages il ya des blocs (rectangles).
J'ai effectué quelques tests de dessin de rectangle et j'ai un premier problème concernant le clignottement lors de la manipulation des rectangles.
Que faut-il utiliser ? PaintBox, TImage ect...
Si en plus quelqu'un a un exemple d'application graphique (avec source), j'en serais trés heureux.
Merci.
Jah
cs_grandvizir
Messages postés1106Date d'inscriptionsamedi 8 novembre 2003StatutMembreDernière intervention 3 septembre 200622 26 août 2005 à 14:35
Supprimer le clignotement :
DoubleBuffered:=true;
C'est le même principe (quoi que je préfère la méthode qui arrive) que de faire un TBitmap en mémoire et une fois qu'il est près, on fait un CopyRect dans un TCanvas. On a alors un dessin en une seule traite et le scintillement disparaît. J'ai implémenté cette méthode dans ma barre de progression style WinRAR.
Un TPaintBox requiert un canvas mais un buffer TBitmap permanent, car le TPaintBox ne peut pas s'autorafraichir, car c'est une zone de dessin qui ne mémorise rien. Le buffer est le bitmap que tu auras créé en arrière-plan.
TImage implémente un canvas et un TBitmap. Mais si tu dessines dans ce TBitmap, il y a problème de scintillement. Il faut un buffer caché, ce qui crée au final 2 TBitmap en mémoire, alors que TPaintBox n'en a besoin que d'un.
neodelphi
Messages postés442Date d'inscriptionjeudi 4 avril 2002StatutMembreDernière intervention11 août 2008 26 août 2005 à 16:56
Bonjour.
Perso j'utilise les TImage pour dessiner, et ça marche nikel. En plus ça te permet également de faire des effet avec la manipulation des pixel, mais je suis pas sur que ça te serve toi.
Si tu veut un exemple de programme utilisant un TImage pour une interface tu peut aller voir mon source delphi.