MFC中OnPaint()函数
voidCSiftRegDlg::OnPaint(){CPaintDCdc(this);//devicecontextforpainting//TODO:在此处添加消息处...
void CSiftRegDlg::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: 在此处添加消息处理程序代码
// 不为绘图消息调用 CDialog::OnPaint()
CRect R1,R2,R3;
this->GetWindowRect(&R3);
if (m_Sen_Img_Flag)
{
m_Static.SubclassDlgItem(IDC_STATIC2,this);
m_Static.GetWindowRect(&R1);
SenImg.DrawToHDC(dc.GetSafeHdc(),CRect(R1.left - R3.left - 2, R1.top - R3.top - 25, R1.right - R3.left - 2, R1.bottom - R3.top - 25));
}
else
{
// if (!is_reg)
//UpDateStatus("请载入待配准图像!", IDC_STATIC1);
}
if (m_Ref_Img_Flag) {
m_Static.SubclassDlgItem(IDC_STATIC3,this);
m_Static.GetWindowRect(&R2);
RefImg.DrawToHDC(dc.GetSafeHdc(),CRect(R2.left - R3.left - 2, R2.top - R3.top - 25, R2.right - R3.left - 2, R2.bottom - R3.top - 25));
}
}
求大神帮我看看这段代码是否有问题,调试的时候报错提示Debug Assertion Failed.把OnPaint()函数中的代码注释掉就没有这个问题了 展开
{
CPaintDC dc(this); // device context for painting
// TODO: 在此处添加消息处理程序代码
// 不为绘图消息调用 CDialog::OnPaint()
CRect R1,R2,R3;
this->GetWindowRect(&R3);
if (m_Sen_Img_Flag)
{
m_Static.SubclassDlgItem(IDC_STATIC2,this);
m_Static.GetWindowRect(&R1);
SenImg.DrawToHDC(dc.GetSafeHdc(),CRect(R1.left - R3.left - 2, R1.top - R3.top - 25, R1.right - R3.left - 2, R1.bottom - R3.top - 25));
}
else
{
// if (!is_reg)
//UpDateStatus("请载入待配准图像!", IDC_STATIC1);
}
if (m_Ref_Img_Flag) {
m_Static.SubclassDlgItem(IDC_STATIC3,this);
m_Static.GetWindowRect(&R2);
RefImg.DrawToHDC(dc.GetSafeHdc(),CRect(R2.left - R3.left - 2, R2.top - R3.top - 25, R2.right - R3.left - 2, R2.bottom - R3.top - 25));
}
}
求大神帮我看看这段代码是否有问题,调试的时候报错提示Debug Assertion Failed.把OnPaint()函数中的代码注释掉就没有这个问题了 展开
2个回答
展开全部
这个在窗口创建的时候会调用一次,产生无效区域的时候又会调用刷新,比如改变窗口大小,窗口被遮挡,内容更新等,具体请参考WM_PAINT
http://baike.baidu.com/link?url=n_swq3w3g5ygoQc1Y4v8hehLslWfnyhy71TWVAkxhjqQz1lIJxjhcLe9ZbzpyBDzAkG1Gik84kU861aTHsQ_Va
请采纳答案,支持我一下。
http://baike.baidu.com/link?url=n_swq3w3g5ygoQc1Y4v8hehLslWfnyhy71TWVAkxhjqQz1lIJxjhcLe9ZbzpyBDzAkG1Gik84kU861aTHsQ_Va
请采纳答案,支持我一下。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询