15,979
社区成员
发帖
与我相关
我的任务
分享
void CClrGradientPrgssCtrlDlg::OnTest()
{
UpdateData(TRUE);
//设置参数
m_cProgress.SetRange(0, m_nRange);
m_cProgress.ShowPercent(m_bShowPercent);
m_cProgress.SetStartColor(m_clrStart);
m_cProgress.SetEndColor(m_clrEnd);
m_cProgress.SetTextColor(m_clrText);
m_cProgress.SetBkColor(m_clrBk);
for (int i=0; i <= m_nRange; i++)
{
PeekAndPump();
m_cProgress.SetPos(i);
}
}
//////////////////////////////////////////////
void CClrGradientPrgssCtrlDlg::OnPaint()
{
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);
}
else
{
CDialog::OnPaint();
}
}
不明白为什么显示完了进度条就消失了