Help update window display
-
Using Visual C++ 6.0 MFC in SDI application I have a window that displays a drawing and also displays a modeless dialog window. When a user clicks on a button in the modeless dialog, I want to display a different drawing along with the modeless dialog window again. But I don't understand how to update the drawing immediately. I have a routine that gets called when the user clicks on the button, but if I simply use Invalidate(0), or UpdateWindow(), the new drawing isn't displayed until I do something on the drawing. So I'm assuming that the Invalidate(0) or UpdateWindow() are updating the modeless dialog window and not my drawing window. But I don't understand how to tell it to update my drawing window. Thanks!
-
Using Visual C++ 6.0 MFC in SDI application I have a window that displays a drawing and also displays a modeless dialog window. When a user clicks on a button in the modeless dialog, I want to display a different drawing along with the modeless dialog window again. But I don't understand how to update the drawing immediately. I have a routine that gets called when the user clicks on the button, but if I simply use Invalidate(0), or UpdateWindow(), the new drawing isn't displayed until I do something on the drawing. So I'm assuming that the Invalidate(0) or UpdateWindow() are updating the modeless dialog window and not my drawing window. But I don't understand how to tell it to update my drawing window. Thanks!
Well, assuming you dialog is child of the drawing window, whenever the button is clicked on the dialog you may call the updating functions on dialog's parent, for instance:
CMyDialog::OnBtnClick()
{
CWnd * pParentWnd = GetParent();
if (pParentWnd)
{
pParentWnd->Invalidate(FALSE);
pParentWnd->UpdateWindow();
}
}:)
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]