为什么它会使整个窗口重绘
HWND hwnd=0;
InvalidateRect(hwnd,&oldrect,false);
//or InvalidateRect(hwnd,&oldrect,true);
效果都一样
我只想重绘我显示时间的一个40*120的区域
HWND hwnd=0;
InvalidateRect(hwnd,&oldrect,false);
//or InvalidateRect(hwnd,&oldrect,true);
效果都一样
我只想重绘我显示时间的一个40*120的区域
解决方案 »
- 存取文件"ResInfo.dat"共享违例
- ★★(高分+报酬)★★ 求在视图里显示WORD文档,并能读出WORD文档结构图的VC示例工程
- 我做过的一次私活,现在感觉也是被骗了。
- 散分了!
- 当鼠标在对话框上的只读编辑框中拖动时,会触发什么消息,在MFC的程序中如何将此消息屏蔽掉
- VCKBase5周年精华版光盘(2CD)代理(北京地区送上门)
- 如何知道其他软件中按钮文本框之类的句柄
- 为什么选择DEBUG能编译通过,选择RELEASE就不能编译通过啊?
- 如何得到VC 2005代码编辑界面所有函数所在的行号?
- xmp是什么意思?我在111222的括号里见过,在文档中心的一篇文章里也见过
- 怎样一次创建一个多级目录(50分哦)
- 警惕!Microsoft在毒害我们开发人员!
上面的方法一定是可行的。
方法二:刷新时间前先将桌面属性设为透明(这样时间的背景仍是原桌面),再用SetROP2将绘图属性设为异或。这样,要抹去以前的内容,只需在原处绘制同样的内容即可(两次异或输出的结果与没有输出时的结果一样)。
这种方法编程十分简单,只是我不知道SetROP2会不会影响TextOut,如果影响的话,应该就没问题了,否则,就不行了。还有,用第二种方法在每次刷新完时间后,最好将桌面的绘图属性恢复过来(刷新前先作备份),应为桌面是一个共享的资源,别的程序可能也会用到。
我用InvalidateRect()时,为什么他老引起整个桌面的重绘