如何强迫视重画?
我在一个非模态的对话框中(好像浮动面板),按动一个按钮后要把主视口重画,该怎么做?
是不是这样:
CMainFrame *frm=(CMainFrame*)AfxGetMainWnd( );
frm->GetActiveView()->SendMessage(???);
问题点数:100、回复次数:4Top
1 楼Aarony()回复于 2000-02-12 00:49:00 得分 50
CMainFrame *frm=(CMainFrame*)AfxGetMainWnd( );
frm->GetActiveView()->SendMessage(WM_PAINT);
_PAINTTop
2 楼jfly()回复于 2000-02-12 13:17:00 得分 0
OnPaint和OnDraw有何不同?
发送WM_PAINT消息是否会调用OnDraw函数?
谢了。Top
3 楼mysticboy(_๑۩۞۩๑۰•●|麦۞壳۞饼|●•۰๑۩۞۩๑_)回复于 2000-02-12 16:09:00 得分 50
太简单了,用下面的函数.
CWindow::Invalidate
BOOL Invalidate( BOOL bErase = TRUE );
Top
4 楼yangrunhua()回复于 2000-02-12 16:31:00 得分 0
OnDraw是CView及其派生的成员函数.
你看看mfc源码就知道正是mfc在响应WM_PAINT的OnPaint中
调用了OnDraw函数,并传入了一个CDC指针
另外,强迫重画可以InvalidateRect(NULL);Top




