Click here to Skip to main content
11,928,352 members (57,091 online)
Rate this:
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 1: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 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 2-Apr-11 7:05am
Don't you keep a list of the drawing objects? Simply repaint the list in OnPaint().
nbd09 2-Apr-11 7:22am
thank you i overlooked it
SAKryukov 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
Top Experts
Last 24hrsThis month

Advertise | Privacy | Mobile
Web01 | 2.8.151126.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