Click here to Skip to main content
15,896,118 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralRe: Solving a repaint problem in VS2005 Pin
CPallini22-Oct-09 20:38
mveCPallini22-Oct-09 20:38 
QuestionRe: Solving a repaint problem in VS2005 Pin
SimplCodr23-Oct-09 3:51
SimplCodr23-Oct-09 3:51 
AnswerRe: Solving a repaint problem in VS2005 Pin
SimplCodr22-Oct-09 11:32
SimplCodr22-Oct-09 11:32 
GeneralRe: Solving a repaint problem in VS2005 Pin
theCPkid22-Oct-09 16:57
theCPkid22-Oct-09 16:57 
AnswerRe: Solving a repaint problem in VS2005 Pin
SimplCodr23-Oct-09 4:05
SimplCodr23-Oct-09 4:05 
GeneralRe: Solving a repaint problem in VS2005 Pin
theCPkid23-Oct-09 5:07
theCPkid23-Oct-09 5:07 
GeneralRe: Solving a repaint problem in VS2005 Pin
SimplCodr23-Oct-09 5:49
SimplCodr23-Oct-09 5:49 
GeneralRe: Solving a repaint problem in VS2005 Pin
CPallini23-Oct-09 5:41
mveCPallini23-Oct-09 5:41 
So what you intend to do is (correct if I'm wrong):
When user double clicks the left mouse button, draw some graphics and make it permanent.

If I guessed well then you have to:
  1. Properly erase the background (see [^]).
  2. Make your painting function (i.e. ShowIt() ) accepting as argument, a CPaintDC instead of creating its own device context.
  3. Never call directly your paint function (or other drawing code, use instead InvalidateRect and UpdateWindow to force the painting happen).
  4. inside the button handler just set a flag (a member variable of the class) and use it to conditionally call your painting function inside OnPaint

For instance:

void Ccom_testView::OnLButtonDblClk(UINT nFlags, CPoint point)
{
  // don't put drawing stuff here
  m_showit=true;
  // the following calls force the window re-paint
  InvalidateRect(NULL);
  UpdateWindow();
  //...
}

void Ccom_testView::OnPaint()
{	
  CPaintDC dc(this); // device context for painting
  if (m_showit) 
    ShowIt(dc);
  //...
}
void Ccom_testView::ShowIt(CPaintDC & dc)
{
  // use the passed dc for drawing
}


Hope it eventually makes sense.

Smile | :)

If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.

This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke

[My articles]

GeneralRe: Solving a repaint problem in VS2005 Pin
SimplCodr23-Oct-09 6:03
SimplCodr23-Oct-09 6:03 
QuestionRe: Solving a repaint problem in VS2005 Pin
SimplCodr23-Oct-09 8:21
SimplCodr23-Oct-09 8:21 
AnswerRe: Solving a repaint problem in VS2005 Pin
CPallini23-Oct-09 10:05
mveCPallini23-Oct-09 10:05 
GeneralRe: Solving a repaint problem in VS2005 Pin
SimplCodr23-Oct-09 10:29
SimplCodr23-Oct-09 10:29 
GeneralRe: Solving a repaint problem in VS2005 Pin
CPallini23-Oct-09 10:50
mveCPallini23-Oct-09 10:50 
GeneralRe: Solving a repaint problem in VS2005 Pin
theCPkid23-Oct-09 19:00
theCPkid23-Oct-09 19:00 
GeneralRe: Solving a repaint problem in VS2005 Pin
SimplCodr24-Oct-09 5:12
SimplCodr24-Oct-09 5:12 
QuestionConvert BYTE* array (unmanaged) to SAFEARRAY Pin
TalSt22-Oct-09 6:13
TalSt22-Oct-09 6:13 
QuestionRe: Convert BYTE* array (unmanaged) to SAFEARRAY Pin
CPallini22-Oct-09 8:20
mveCPallini22-Oct-09 8:20 
AnswerRe: Convert BYTE* array (unmanaged) to SAFEARRAY Pin
Randor 22-Oct-09 16:13
professional Randor 22-Oct-09 16:13 
GeneralRe: Convert BYTE* array (unmanaged) to SAFEARRAY Pin
TalSt24-Oct-09 19:50
TalSt24-Oct-09 19:50 
GeneralRe: Convert BYTE* array (unmanaged) to SAFEARRAY Pin
Randor 26-Oct-09 9:59
professional Randor 26-Oct-09 9:59 
QuestionHow to read the characters in the EditTable of SysListView32 style control ? Pin
wangningyu22-Oct-09 5:41
wangningyu22-Oct-09 5:41 
QuestionRe: How to read the characters in the EditTable of SysListView32 style control ? Pin
David Crow22-Oct-09 6:23
David Crow22-Oct-09 6:23 
AnswerRe: if the edit listcontrol in other programs, how can I read the list ?[modified] Pin
wangningyu22-Oct-09 6:35
wangningyu22-Oct-09 6:35 
GeneralRe: if the edit listcontrol in other programs, how can I read the list Pin
David Crow22-Oct-09 7:08
David Crow22-Oct-09 7:08 
AnswerRe: How to read the characters in the EditTable of SysListView32 style control ? Pin
rand094122-Oct-09 15:01
rand094122-Oct-09 15:01 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.