hur.cn - 华软网

 热门搜索

为什么程序最小化后,图片就不显示了呢?

  作者:未知    来源:网络    更新时间:2011/6/1
void CCh14Demo3ClientDlg::OnPaint() 
{
ShowPictrue();
//InvalidateRect( NULL, true );
if (IsIconic())
{
CPaintDC dc(this); // device context for painting

SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

// Center icon in client rectangle
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;

// Draw the icon
dc.DrawIcon(x, y, m_hIcon);
CDialog::OnPaint();
}
else
{
CDialog::OnPaint();
}
UpdateData(false);
UpdateWindow();
CDialog::OnPaint();


}
最小化还原与拖拉窗口时都能收到ON_PAINT消息,但为什么拖拉就可以显示,最小化还原就不能显示了呢?
---华软 网友回答---
断点,跟踪看执行流程有什么不同之处
---华软网友回复---
调试跟踪,看还原时
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;
这两个值
---华软网友回复---
好的,我调试下

---华软网友回复---
问题解决了,ON MESSAGE消息没有处理好。      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。