2010-11-04 4 views
1

Mon application a de nombreux composants graphiques et visuels ... J'ai donc activé doublebufferd = true dans chaque composant autant que possible.Utilisation de la double mémoire tampon avec les contrôles VCL

plus tard je voulais utiliser un panneau afin de maintenir certains composants (il facilite l'alignement facile) mais en même temps, le panneau doit avoir une propriété transparente (alors que je peux montrer les graphiques sous le panneau)

donc j'ai trouvé un panneau 'TJVPanel' dans ma palette avec la propriété transparente donc je l'ai utilisé, et mis transparent = true; align = right (bien);

tout est ok, mais quand je suis Redimensionnement, des composants à l'intérieur du jvpanel et jvpanel sont pichenette

donc je cherché doublebufferd mais pas réussi

quelqu'un peut me dire solution pour cela ou me recommander un autre composant
, mais je préfère utiliser jvpanel avec quelques modifications

+0

si vous me recommander un vlc s'il vous plaît assurez-vous qu'il est libre ou non – VibeeshanRC

+0

désolé j'oublié de mentionner épousseter, mais maintenant je l'ai éditée, encore une fois désolé – VibeeshanRC

Répondre

2

Avez-vous essayé de surcharger la méthode OnPaint de votre jvPanel afin qu'il ne fasse rien? Vous devrez peut-être l'obtenir pour peindre les contrôles enfants à l'intérieur en leur passant des messages Paint ou en appelant leur méthode Paint.

Je n'ai pas fait cela depuis un moment, mais cela peut vous indiquer la bonne direction.

+0

je ne sais pas comment le faire cependant grâce à une idée – VibeeshanRC

+0

I Je suppose que vos composants clignotent lorsque vous redimensionnez votre panneau. Il y a quelques mots qui manquent dans votre question qui rendent un peu confus. "Tout va bien mais quand je redimensionnais, les composants à l'intérieur du jvpanel et du jvpanel sont ???????" Je suppose que vous vouliez remplacer les trois derniers mots par le mot "scintillement"? Est-ce correct ? –

+0

http://www.efg2.com/Lab/Library/Delphi/Graphics/VCLRTL.htm - Cette page fait le commentaire suivant. Je ne l'ai pas testé. ControlStyle: Pour empêcher le formulaire de repeindre son arrière-plan chaque fois qu'il effectue une peinture, ce qui peut provoquer un scintillement même en utilisant l'astuce de double mise en mémoire tampon, placez la commande suivante dans FormCreate: Form1.ControlStyle: = Form1.ControlStyle + [csOpaque ] Il y a beaucoup d'autres conseils utiles sur cette page. –

0

t-il des composants avec la transparence, mais tms vous devez payer,

Questions connexes