14. august 2002 - 11:30Der 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??
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.
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?
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.
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...
Synes godt om
Ny brugerNybegynder
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.