mfc窗口重绘
void CGradeView::OnScreenClean() {
// TODO: Add your command handler code here
Invalidate(FALSE); //使用户区无效,
UpdateWindow(); // 使无效用户区重绘
}
这是我写的一个窗口重绘的函数。但是结果是不能使得窗口重绘,请各位解释一下invalidate 和updatewindow用法之间的区别。
对于这个函数的话我是作业想的,先调用invalidate(false)来设定用户界区的无效,再用updatewindow来让无效的用户区进行重绘。
下面这个是OnPaint函数
void CGradeView::OnPaint()
{
CPaintDC dc(this); // device context for painting
TEXTMETRIC tm; //定义文本信息结构体
dc.GetTextMetrics(&tm); //获得设备描述表中的文本信息
CreateSolidCaret(tm.tmAveCharWidth/8,tm.tmHeight); //创建大小合适的插入符
ShowCaret ();//
// TODO: Add your message handler code here
// Do not call CView::OnPaint() for painting messages
}