Avatar billede delphin Nybegynder
22. august 2004 - 12:36 Der er 7 kommentarer og
1 løsning

Opdater skærm

Hvordan sætter man opdateringen af skærmen/formen ud af drift (mens man fx kalder en procedure)?
Avatar billede martinlind Nybegynder
22. august 2004 - 14:07 #1
forklar mere ????
Avatar billede delphin Nybegynder
22. august 2004 - 14:37 #2
Det er fordi jeg i en procedure ændrer udseendet af formen ret drastisk - jeg danner op i mod 48 buttons, 200 edits, 20 groupbox osv... egenskaberne for alle disse bliver ændret - dvs. de bliver fx flyttet til den rigtige plads på formen osv...

Det er bare noget surt at man skal sidde og kigger på at alle disse bliver dannet og flyttet rundt (tager måske et sekund eller to). Det ville være rart, hvis de alle sammen kom til syne på samme tid...

Jeg har prøvet af ændre deres "visible" properties til "false" umiddelbart efter hver enkelt er dannet og så senere ændre den til "true", men det er stadig ikke optimalt...
Avatar billede ullesan Nybegynder
22. august 2004 - 14:40 #3
måske kalde invalidate funktionen når du gør det?

fra hjælpen

"Completely repaint control.

procedure Invalidate; virtual;

Description

Use Invalidate when the entire control needs to be repainted. When more than one region within the control needs repainting, Invalidate will cause the entire window to be repainted in a single pass, avoiding flicker caused by redundant repaints. There is no performance penalty for calling Invalidate multiple times before the control is actually repainted."
Avatar billede delphin Nybegynder
22. august 2004 - 14:43 #4
Faktisk bliver proceduren også kaldt når programmet åbnes - og der har jeg IKKE problemet - formen kommer til syne med det hele (knapper osv...) placeret rigtigt fra starten... Forstår du mit problem? - Ellers spørg igen... :-)
Avatar billede delphin Nybegynder
22. august 2004 - 15:17 #5
tjo... det lyder jo rigtigt: "invalidate will cause the entire window to be repainted in a single pass....", men jeg synes ikke det virker... det blinker lige så meget som før... man kan se hver enkelt knap m.m. komme frem en ad gangen - i stedet for alle på én gang...
Avatar billede nico26 Nybegynder
22. august 2004 - 16:03 #6
Lav et panel der fylder hele formen, og sæt dine knapper på panelet. Får du starter opdateringen gør du panelet usynligt, og når du er færdig gør du det synligt igen
Avatar billede delphin Nybegynder
22. august 2004 - 16:24 #7
tja... det kan jeg selvfølgelig bare gøre... det er da i hvert fald en nem løsning - tak :-) (hvis du vil have point kan du bare lave et svar :-))
Avatar billede nico26 Nybegynder
22. august 2004 - 17:51 #8
:)
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