Avatar billede delphin Nybegynder
14. august 2002 - 11:30 Der er 5 kommentarer og
2 løsninger

Opdaterings problemer

Jeg har et baggrundsbillede, hvorpå jeg har anbragt nogle små billeder. For disse små billeder sætter jeg visible til true og false skiftevis. Men det virker som om HELE baggrundsbilledet også opdateres, hver gang jeg ændrer visible-egenskaber for et af de små (store dele af skærmen blinker).

Tilsvarende problem opstår fx også, når man formaterer få bogstaver i en richedit98-komponent – hele linjen opdateres (linjen blinker). Kan man ikke undgå disse blink? - fx ved at installere en grafik-ting?? - eller lignende??
Avatar billede speedy Nybegynder
14. august 2002 - 13:40 #1
Prøv i formens onCreate at skrive dette:

Form1.DoubleBuffered := True;

Dette gør at formen gentegnes i hukommelsen inden den tegnes på selve skærmen. Dette kan muligvis godt mærkes i hastigheden, men det afhænger af så meget, så prøv og se om det ikke hjælper.

/SpEeDy
Avatar billede delphin Nybegynder
14. august 2002 - 13:58 #2
Neeej... det er desværre det samme - jeg kan ikke se nogen ændring i mængden af blink...
Avatar billede martinlind Nybegynder
14. august 2002 - 15:24 #3
Du kan prøve at lede efter en ny skræmdriver, det lyder ikke som om den er alt for god den du har
Avatar billede dkn Nybegynder
14. august 2002 - 15:58 #4
både sæt
Form1.DoubleBuffered := True;
og din image til Image1.DoubleBuffered := True;

faktisk alt det som du ønsker ikke skal blinke, skal sættes til DoubleBuffered := True; - hvis de har muligheden for det
Avatar billede delphin Nybegynder
14. august 2002 - 19:19 #5
Der er desværre ikke noget galt med min skærmdriver – jeg har i øvrigt prøvet programmet under flere windowsversioner og på mange forskellige computere med samme resultat. Jeg tror problemet er, at jeg har brug for at opdatere billeder m.m. ca. 1 gang i sekundet - men det må da kunne lade sig gøre. Jeg har umiddelbart ikke mulighed for at sætte Image1.DoubleBuffered := True;  - jeg får følgende fejlmelding: [Error] Unit1.pas(28): Undeclared identifier: 'DoubleBuffered' - hvad gør jeg forkert?
Avatar billede zimp Nybegynder
15. august 2002 - 13:03 #6
Jeg ville have troet at DoubleBuffered=TRUE på formen ville være nok, men hvis det ikke er, så kan du lege lidt med ValidateRect og InvalidateRect.

Lige efter du har ændret Visible, så kalder du ValidateRect med området for hele dit baggrundsbillede. Derefter kalder du InvalidateRect med de områder der har ændret Visible status.
Avatar billede delphin Nybegynder
15. august 2002 - 18:48 #7
Nu har jeg siddet og rodet med det så længe, at det faktisk er lykkes mig, at få det til at virke ved at sætte panels og alt muligt andet doublebuffered som I sagde - rigtigt fedt - men når man sætter richedit.doublebuffered til true, så forsvinder teksten i richedit'en - hvorfor? - I får snart jeres point...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester