2011-08-24 4 views
0

Il existe une forme modale avec: des étiquettes, des boutons, des boîtes de groupe.Delphi: une forme modale scintille

J'appel d'un formulaire 1 sur un bouton clic: Form2.ShowModal;

Lorsque le formulaire 2 apparaît d'abord - tout est ok à cause d'un effet de mélange. Mais l'apparence de la forme suivante a un scintillement, en particulier des étiquettes, des boutons. J'ai essayé d'utiliser DoubleBuffered:=True/False and ParentFont:=True/False (in case of a group box, frame). Il ne permet pas :(

aide Quelqu'un peut-il s'il vous plaît? Merci!

+0

Pouvez-vous nous dire ce qui provoque le scintillement? Est-ce qu'il scintille même avec l'interaction de l'utilisateur? –

+0

Est-ce que vous détruisez le formulaire et le recréer ou simplement le cacher et le montrer? – Sam

+0

@David Heffernan et Sam, ça scintille quand un de apparaît. Je ne le détruis pas et je ne le recréais pas, je le cache et le montre. J'ai 10 étiquettes, 10 boutons, 5 modifications, une boîte de groupe sur un formulaire-> tous les scintillements. – maxfax

Répondre

1

OK cela fera l'affaire, remplacer cette solution s'il y a mieux ...

1er, OnFormCreate

Form2.AlphaBlendValue := 0; 
Form2.AlphaBlend := true; 

, Ajouter minuterie, OnTimerEvent

Form2.AlphaBlendValue := 255; 
Form2.AlphaBlend := false; 
Timer1.Enable := False; 

OnFormShow

Timer1.Enable := True; 
+0

Je ne peux pas croire que je suis arrivé à travers cela. J'avais un problème très similaire avec un contrôle TCppWebBrowser. Lorsque j'ai appelé ShowModal sur le formulaire contenant le contrôle du navigateur, le contrôle clignotait sur l'apparence. Cela l'a réparé! – Brandon