摘要: 重绘导致原因:UpdateData、Invalidate、InvalidateRect和UpdateWindow函数。1.UpdateData重绘控件函数UpdateData(TRUE)——刷新控件的值到对应的变量。(外部输入值交给内部变量)即:控件的值—>变量。UpdateData(FALSE) —— 拷贝变量值到控件显示。(变量的最终运算结果值交给外部输出显示)即:变量值—>控件显示。2. Invalidate() 该函数的作用是使整个窗口客户区无效。窗口的客户区无效意味着需要重绘,例如,如果一个被其它窗口遮住的窗口变成了前台窗口,那么原来被遮住的部分就是无效的,需要重绘。这时 阅读全文
posted @ 2013-12-14 22:47 任智康 阅读(20859) 评论(0) 推荐(2) 编辑
摘要: 视图的背景一般来说是白色的,在缺省情况下,它和系统定义的颜色COLOR_WINDOW是一致的。设计者一般会希望自己的程序可以让用户轻松地改变窗口背景颜色,或是用漂亮的图片来充填背景。我们可以用Windows函数SetSysColors来重新指定COLOR_WINDOW所对应的实际颜色,来达到改变视图背景颜色的目的。但这样会同时改变其他应用程序的视图窗口背景,使得整个Windows系统的颜色设置产生混乱。另外,我们可能会用以下方法来设置视图的背景颜色,即在CView的OnDraw函数中添写如下一段程序代码:void CTestView::OnDraw(CDC* pDC) { CTestDoc.. 阅读全文
posted @ 2013-12-14 22:17 任智康 阅读(9120) 评论(0) 推荐(0) 编辑