社区
界面
帖子详情
pDC->GetClipBox (&rcClip); 是什么意思呀?
genhualiu
2003-10-19 12:21:10
这个和InvalidateRect()有什么关系呀?
和Onpaint()又有什么关系呀?
谢谢指教
...全文
47
2
打赏
收藏
pDC->GetClipBox (&rcClip); 是什么意思呀?
这个和InvalidateRect()有什么关系呀? 和Onpaint()又有什么关系呀? 谢谢指教
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
genhualiu
2003-10-19
打赏
举报
回复
以复制的方式选入DC
这句话我不懂,可以加以代码解释一下吗?
可以的话,加一下我的QQ:36211280
ChinaSea3003
2003-10-19
打赏
举报
回复
CDC 中为了保证不在自己的窗口之外在绘图,设定了一块可绘制区域,就是剪辑区,
剪辑区建立之后可以以复制的方式选入DC,然后可以自己删除而不影响dc,dc根据自己的剪辑区
进行绘图操作,你提出的两个函数都是有关绘图的所以用到了剪辑区
MFC 刷新View的背景颜色
BOOL CXXXView::OnEraseBkgnd(CDC*
pDC
) { CBrush Brush(RGB(0x0,0,0)); CBrush* pOldBrush =
pDC
->SelectObject (&Brush); CRect
rc
Clip
;
pDC
->Get
Clip
Box
(&
rc
Clip
);
pDC
->PatBlt(
rc
Clip
.left,
rc
Clip
.top,
rc
vc 关于局部刷新
在绘制图像对象的时候,时刻获取其所占范围大小,并使用InvalidateRect( m_rectRefresh);刷新,但是光这样还是不行的要在onDraw()函数里获取PAINTSTRUCT结构的无效矩形区域 一般写法是: // 局部刷新 创建剪切区域 CRect mrect=((CPaintDC*)
pDC
)->m_ps.
rc
Paint; //获得无效客户区域 CRgn rg...
MFC DrawTest
void CDrawtsetView::OnDraw(CDC*
pDC
) { CDrawtsetDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; // TODO: add draw code for native data here int i, y; CString s; TEXTMETRIC
如何改变视窗的背景颜色
如何改变视窗的背景颜色 Windows向窗口发送一个WM_ERASEBKGND消息通知该窗口擦除背景,可以使用ClassWizard重载该消息的缺省处理程序来擦除背景(实际是画),并返回TRUE以防止Windows擦除窗口。 BOOL C
Box
View::OnEraseBkgnd(CDC*
pDC
) {CBrush brush(RGB (128 , 0 , 128) );// Select th
提高绘图效率以及避免闪屏 -- 双缓存,剪裁区
多数情况下窗口重绘的产生大多是因为窗口部分被遮挡或者窗口有滚动发生,改变的区域并不是整个图形而只有一小部分,这一部分需要改变的就是
pDC
中的裁剪区了。因为显示(往内存或者显存都叫显示)比绘图过程的计算要费时得多,有了裁剪区后显示的就只是应该显示的部分,大大提高了显示效率。但是这个裁剪区是MFC设置的,它已经为我们提高了显示效率,在进行复杂图形的绘制时如何进一步提高效率呢?那就只有去掉在裁剪区外的绘
界面
15,979
社区成员
115,896
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章