Click here to Skip to main content
11,805,266 members (51,170 online)
Rate this: bad
Please Sign up or sign in to vote.
See more: C++ Windows MFC GDI+ VC10.0
i have made a software to draw lines by mouse(Lineto) it is a mfc program based on cview and a sdi but whenever i resize or minimize my window all the drawing in the window is erased
how can i stop it
may be some onpaint event to retain the drawing
plz help
Posted 2-Apr-11 0:03am
Rate this: bad
Please Sign up or sign in to vote.

Solution 1

You need to do the drawing in the OnPaint() handler.
nbd09 at 2-Apr-11 6:49am
how can i do drawing on onpaint() handler
i do it on a mouse event like on mouse move event and mouse button down
and up
Hans Dietrich at 2-Apr-11 7:05am
Don't you keep a list of the drawing objects? Simply repaint the list in OnPaint().
nbd09 at 2-Apr-11 7:22am
thank you i overlooked it
SAKryukov at 4-Apr-11 23:18pm
My 5.
Rate this: bad
Please Sign up or sign in to vote.

Solution 2

1.) you should never paint outside a paint message.
2.) you should store your data (bitmap or point-list).
3.) you should handle the erase and the paint messages.
4.) draw your lines (or whatelse) onpaint message.
5.) to paint into a bitmap is very simple but limited to the bitmap size themselves.
Good luck.

6.) to update the window - call the InvalidateRect function.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 OriginalGriff 315
1 Richard Deeming 200
2 Sergey Alexandrovich Kryukov 170
3 CPallini 160
4 CHill60 150
0 OriginalGriff 3,255
1 Maciej Los 1,990
2 KrunalRohit 1,907
3 CPallini 1,855
4 Richard MacCutchan 1,227

Advertise | Privacy | Mobile
Web02 | 2.8.151002.1 | Last Updated 2 Apr 2011
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100