Vindue størrelse konstant opdateret

Tags:    c++

Hej,

Jeg er to vinduer i min applikation: hwnd (som er hovedvinduet) og edit, som er vinduet til at skrive i. Edit er forresten en RICHEDIT_CLASS.

Jeg vil gerne have et min edit hele tiden har samme størrelse som selve vinduet, ligesom i Notesblokken. Det kan jeg godt lave ved hjælp af GetClientRect() og MoveWindow() under WM_SIZE, men så blinker edit vinduet - samt teksten deri - en anelse når man ændrer på hwnd's størrelse. Det gør det ikke i Notesblokken. I og for sig er det jo klart nok, eftersom den er sat til at udføre 2 funktioner ved hver WM_SIZE, og det må jo kræve lidt arbejde fra computerens side, men er der en smartere måde at gøre det på så jeg undgår at edit-vinduet blinker til mig? ;)

Hilsen Thomas



8 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
MFC er et sæt class'er udviklet af Microsoft til at lave windows programmer. Disse class'er er kun et ret tyndt lag oven på Win32 API'et.

MFC har fra starten været meget dårligt skruet sammen, og Microsoft er heldigvis også selv gået fra MFC igen.

Så vidt jeg ved kan man kun bruge MFC hvis man køber en ret dyr udgave af Microsoft VisualC++.


MFC er ikke kun et sæt klasser, men er et helt framework. Du har ret i MFC ikke er særlig "venligt" at arbejde med og nogle ting er ret "bøvlet".

Selv foretrækker jeg også Qt. Det er væsentlig bedre og gennemtænkt framework, som i modsætning til MFC også er 100% objekt-orienteret.

http://www.trolltech.com/products/qt






Nu er jeg lidt i tvivl om du bruger MFC eller ikke, men her er et par links til hvordan du laver resizeable kontroller. Om ikke andet håber jeg de kan give inspiration til hvordan det skal laves.

http://wwwusers.brookes.ac.uk/p0071643/resize.htm

http://www.codersource.net/mfc_resize_controls.html


Et resize lib

http://www.freedownloadscenter.com/Search/resize_s8.html


Hth



Indlæg senest redigeret d. 17.02.2007 12:46 af Bruger #10448
Hm, eksempel nr 2 minder vist lidt om min metode, dvs. den gør brug af MoveWindow, men så er vi jo tilbage ved starten. Måske hjælper det hvis du har noget kode at gå ud fra?

Fold kodeboks ind/udKode 


Jeg er faktisk lidt i tvivl om hvad MFC er :$ Men I alle MFC eksempler, jeg har set, er der gjort brug af klasser, og det gør jeg jo ikke, så jeg bruger sikkert ikke MF :bounce:

Hvis du kan din Delphi kan jeg sige, det er "alClient" jeg leder efter ;)



Jeg synes egentlig ikke at den flimrer meget, men du kan prøve at indsætte dette i din WindowProcedure:
Fold kodeboks ind/udKode 


Du bruger (heldigvis) ikke MFC, fortsæt med det.





Nej, den flimrer meget lidt. Men nu hvor jeg kigger på notesblokken flimrer den faktisk også lidt (?). Det er nok dømt til at være sådan, og det er også fint nok. Din WM_ERASEBKGND gjorde det desværre ikke bedre, men lad os dele pointene ;)

Kan du fortælle lidt om MFC?



MFC er et sæt class'er udviklet af Microsoft til at lave windows programmer. Disse class'er er kun et ret tyndt lag oven på Win32 API'et.

MFC har fra starten været meget dårligt skruet sammen, og Microsoft er heldigvis også selv gået fra MFC igen.

Så vidt jeg ved kan man kun bruge MFC hvis man køber en ret dyr udgave af Microsoft VisualC++.



Okidoki :bounce:



Jeg ved ikke hvad jeg laver, men det bli'r godt :)



t