Avatar billede cplus Nybegynder
18. marts 2004 - 11:48 Der er 6 kommentarer

WM_PAINT og WM_SIZE

Er det ikke muligt at styre WM_PAINT og WM_SIZE beskeder?

Jeg er ved at lave en kontrol og jeg får konstant disse WM's..

Kan jeg ikke styre dem på en mere fornuftig måde.. fx at der kun tegnes | WM_PAINT -når det er nødvendigt?
Avatar billede cplus Nybegynder
18. marts 2004 - 11:53 #1
Kunne jeg bruge PreTranslateMessage og så simpelthen vælge ikke at dispatche beskeden?
Avatar billede jpk Nybegynder
18. marts 2004 - 11:56 #2
Beskederne sendes kun når det er nødvendigt...
Er du ved at debugge?
Avatar billede cplus Nybegynder
18. marts 2004 - 11:59 #3
Jep... det jeg vil gøre er at der reelt kun skal tegnes når jeg får nye data eller hvis der scrolles
Avatar billede jpk Nybegynder
18. marts 2004 - 12:03 #4
Du skal jo bare implementere funktionen til at tegne, så styrer Windows hvornår det er nødvendigt!

Hvis du fx trækker et andet vindue hen over dit program, er det jo nødvendigt at gentegne.
Ligeledes hvis du minimerer/maximerer programmet.

Det vil du ikke styre selv..!
Avatar billede cplus Nybegynder
18. marts 2004 - 12:29 #5
oki
Avatar billede jpk Nybegynder
18. marts 2004 - 12:38 #6
Grunden til jeg spurgte om du var ved at debugge er, at hvis du har et preakpoint i din WM_PAINT handler, vil programmet hele tiden stoppe der.
Det skyldes jo at programmet skal tegnes hver gang det vises og hver gang det tegnes stopper det ved breakpoint'et hvilket fjerner fokus fra programmet således det skal tegnes igen...
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