Click here to Skip to main content
12,068,967 members (65,727 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
nbd09389
Rate this: bad
 
good
Please Sign up or sign in to vote.

Solution 1

You need to do the drawing in the OnPaint() handler.
  Permalink  
Comments
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.
--SA
Rate this: bad
 
good
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.

[edit]
6.) to update the window - call the InvalidateRect function.
  Permalink  
v2

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
Web03 | 2.8.160208.1 | Last Updated 2 Apr 2011
Copyright © CodeProject, 1999-2016
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