社区
界面
帖子详情
关于MFC窗口重绘的问题
Becomly
2010-12-11 09:59:48
请问能够检测到窗口的全部重绘与部分重绘吗?
因为我需要获得窗口的DC,当全部重绘时,获得的dc是正确的,当部分重绘时,获得的dc会有我贴的图这样获得的dc是错误,请问有什么办法解决
...全文
169
13
打赏
收藏
关于MFC窗口重绘的问题
请问能够检测到窗口的全部重绘与部分重绘吗? 因为我需要获得窗口的DC,当全部重绘时,获得的dc是正确的,当部分重绘时,获得的dc会有我贴的图这样获得的dc是错误,请问有什么办法解决
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
向立天
2011-01-03
打赏
举报
回复
您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了
疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知
见此回复三日内无回应
我们将强制结帖
相关规定详见界面
界面版关于版主结帖工作的具体办法
schlafenhamster
2010-12-11
打赏
举报
回复
下载我的“ScrollBitmap.rar”
注意:
else
{// typical way painting in dialog.
CPaintDC dc(this);
m_Pic.Invalidate(FALSE);// do not erase background!
dc.BitBlt(m_rcPicture.left,m_rcPicture.top,m_rcPicture.Width(),
m_rcPicture.Height(),&m_dcMem, m_Sourcex, m_Sourcey,SRCCOPY);
// others
CDialog::OnPaint();
}
Becomly
2010-12-11
打赏
举报
回复
创建窗口时获得的
CClientDC dc(this);
ClearDC.m_hDC = ::CreateCompatibleDC(dc.m_hDC);
HBITMAP hBitmap = ::CreateCompatibleBitmap(dc.m_hDC,cx,cy);
SelectObject(ClearDC.m_hDC,hBitmap);
::BitBlt(ClearDC.m_hDC,0,0,cx,cy,dc.m_hDC,0,0,SRCCOPY);
向立天
2010-12-11
打赏
举报
回复
ClearDC你怎么获得的
Becomly
2010-12-11
打赏
举报
回复
ClearDC是一个内存dc,用来保存没有画过图的窗口dc来的,
就是在这个窗口上有个子窗口出现并一度子窗口的话,就会出现部分重绘,从而导致取到的ClearDC不是所要取得的
向立天
2010-12-11
打赏
举报
回复
我还是没弄明白
ClearDC是哪来的
你要干什么
不过调用Invadidate还是InvalidateRect
dc上的内容应该是一样的
Becomly
2010-12-11
打赏
举报
回复
我在OnPaint()上的代码是这样的
CPaintDC dc(this);
INT cx = GetSystemMetrics(SM_CXSCREEN),cy = GetSystemMetrics(SM_CYSCREEN);
::BitBlt(ClearDC.m_hDC,0,0,cx,cy,dc.m_hDC,0,0,SRCCOPY);
PainOP->MapMemDC(&dc);
因为我需要取得通过ClearDC来保存没有画过图的dc,
如果部分重绘的话我取得的ClearDC是已经有我画过的图的了
向立天
2010-12-11
打赏
举报
回复
没明白你什么意思
你想实现什么需求
具体代码怎么写的
Becomly
2010-12-11
打赏
举报
回复
那位能帮帮忙?麻烦了
向立天
2010-12-11
打赏
举报
回复
[Quote=引用 7 楼 becomly 的回复:]
创建窗口时获得的
CClientDC dc(this);
ClearDC.m_hDC = ::CreateCompatibleDC(dc.m_hDC);
HBITMAP hBitmap = ::CreateCompatibleBitmap(dc.m_hDC,cx,cy);
SelectObject(ClearDC.m_hDC,hBitmap);
::BitBlt(ClearDC.m_hD……
[/Quote]你在窗口创建时获得位图
那子窗口移动又怎么会影响到它呢
这和刷新有什么关系呢
Sou2012
2010-12-11
打赏
举报
回复
没听过ClearDC
hjfhero
2010-12-11
打赏
举报
回复
http://www.vckbase.com/document/viewdoc/?id=1612 可以参考下。。
MFC
普通
窗口
重绘
MFC
普通
窗口
重绘
,有什么不懂的可以随时到我的博客留言http://www.gymsaga.com/,我会尽早解答您的
问题
,更多
MFC
实例讲解,请登陆我的博客。
MFC
直线曲线(可
窗口
重绘
)
利用VC++(
MFC
)绘制直线、曲线,同时实现橡皮筋功能和
窗口
重绘
功能
MFC
解决
窗口
保存及
重绘
闪烁
问题
的一种比较好的方案 v1.0.5
SolveFlashingAndRedraw框架是
MFC
解决
窗口
保存及
重绘
闪烁
问题
的一种比较好的方案(Win32解决方法类似)。 版本历史: v1.0.1 20091126 第一版本 v1.0.2 20091212 第二版本 1. 修改了部分变量的名字使其更符合其...
MFC
窗口
重绘
问题
,值的下载
MFC
中,在不断刷新的过程中,难免会出现画面闪烁
问题
,这个方法很好的解决了这个
问题
基于对话框
窗口
重绘
本代码实现了基于对话框
窗口
重绘
问题
,使用IDC_PICTURE控件绘制直线、圆形和矩形等图形。
界面
15,979
社区成员
115,896
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章