Dziwne miganie komponentów

0

Przedstawię na czym polega problem:
Gdy wstawię na formę PageControl albo Panel z parametrem Align := alClient podczas rozszerzania formy, każdy element na tym panelu zaczyna mrugać np. Image, Gauge, Label i inne.
Nawet sam caption Panelu mruga. Znalazłem w internecie gifa, który przedstawia ten problem na Windowsie XP (ja używam aktualnie Windowsa 7 i tworzę w Delphi 7).
user image
Tutaj akurat jest zaprezentowany jakiś komponent, ale chodzi mi o te zjawisko jak się rozszerza formę.
Gdy wyłączyłem Aero (we właściwościach aplikacji) - problemu nie ma.
W jaki sposób to można naprawić? XPManifest nie ma na to wpływu.
Jest jeszcze taka zależność: Im więcej tego typu komponentów jak Panel na formie, tym bardziej ten problem jest widoczny.

0

Zmień DobuleBuffered Formy 35 na True
powinno pomóc

0

Akurat to nie pomaga. Wina jest prawdopodobnie w Windows (a dokładniej pojawia się tylko wtedy gdy włączona jest opcja "pokazuj zawartość okna podczas przemieszczania").

0

@Grudziecki DoubleBuffered powoduje "brak odświeżania" grafiki na formie. Wszystko zaczyna się mazać, gdy się zmienia.

@Opi Czy jest zatem możliwość, żeby wymusić rysowanie konturu formy podczas jej rozszerzania?
Wtedy zawartość byłaby stała.

0

hmm. u mnie mruganie tez wystepuje wystepuje i doublebuffered formy tez nie pomaga.... bo komponenty leza na Panelu.
doublebuffered panelu zalatwia sprawe. przynajmniej u mnie.

0
cimak napisał(a)

hmm. u mnie mruganie tez wystepuje wystepuje i doublebuffered formy tez nie pomaga.... bo komponenty leza na Panelu.
doublebuffered panelu zalatwia sprawe. przynajmniej u mnie.
O widzisz. A ja już spisałem ten temat na straty. Przy następnej okazji spróbuję.

0
cimak napisał(a)

hmm. u mnie mruganie tez wystepuje wystepuje i doublebuffered formy tez nie pomaga.... bo komponenty leza na Panelu.
doublebuffered panelu zalatwia sprawe. przynajmniej u mnie.

Niestety u mnie nie :( Pewnie dlatego że mam Panel na Panelu.

0

to jest tak ze musi kazdy komponent pochodny od win32 tcontrol czy tam twincontrol byc na doublebuffered := true;

musisz jehac for i;=0 yo appplication.components.length-1do
if tutaj szukasz czy kontrolka jest pochodna od twincontrol czy moze nawet tcontrol
i ustawiasz jej poprzez rzutowanie wartosc doublebuffered na true;

1 użytkowników online, w tym zalogowanych: 0, gości: 1