版权声明:K5出品,必属精品,欢迎收藏评论 https://blog.csdn.net/a694861283/article/details/86595251
大坑一:CDC会随着窗口状态的改变而改变
void K5::OnPaint() {
CDC *pDC=this->GetDC(); //CDC最好设为局部变量
...
this->ReleaseDC(pDC);
}
void K5::OnBtnDown(){
CDC *pDC=this->GetDC(); //注意,在这里的pDC的值和上一个函数的值是不一样的
... //最好传参过来,这样pDC就一样了
this->ReleaseDC(pDC);
}
大坑二:OnPaint消息函数会一直刷新
void K5::OnPaint(){
CPaintDC dc(this); //这一句话必须在OnPaint消息函数里面开头第一句,不然会一直刷新
}
大坑三:GDI升高之谜
CDC *pDC->m_hDC=hdc;
//最好不要直接修改CDC的成员变量,不然GDI会莫名增加两个
//如果想要修改CDC的内容,最好用Bitblt或者Stretch函数来拷贝图像过去