Hej.
Jeg har lavet et skrivekomponent magen til det i Visual Studio, hvor der er som bekendt en hel del grafiske elementer (linjeboksen, markeringsfunktionen, highlight af visse dele af teksten, etc.), men efter lidt tid eller et bestemt antal operationer (som at markere en linje frem og tilbage en masse gange hurtigt) giver GDI op.
Mit komponent ser således ud:
http://123login.dk/dexo/vse.pngJeg kan desværre ikke vise, hvordan det ser ud, når GDI kokser, for da vil Windows ikke lade mig tage screenshots. Men jeg kan sige, at markeringen forsvinder og at der kommer en masse streger, der ligner komponentets caret (tekstmarkøren "IBeam"). Hvis jeg minimerer og gendanner vinduet, er komponentet helt sort (hvilket det er indstillet til at være ved programstart-up, inden WM_PAINT bearbejdes).
Jeg har førhen løst problemet med en timer, men det giver programmet en lidt "tung" fornemmelse. Jeg har også udtænkt en måde at "skåne" WM_PAINT på, så den ikke maler HELE komponentet hver gang, men den skal lige finpudses og omdannes til kode, hvilket jeg endnu ikke har gjort, i håb om end nemmere måde.
Thomas
Indlæg senest redigeret d. 14.04.2009 00:39 af Bruger #8985