CMyDlg* pMyDlg = new CMyDlg(this);
pMyDlg->Create(IDD_DIALOG1,this);
pMyDlg->ShowWindow(SW_SHOW);
pMyDlg->m_ProgressCtrl.SetRange(0,100); //m_ProgressCtrl为派生CProcessCtrl类的成员
for(int i=0;i<100;i++)
{
pMyDlg->m_ProgressCtrl.SetPos(i);
}
在pMyDlg->m_ProgressCtrl.SetPos(i)这里和OnPaint()设置断点,发现不是每一次都能进入OnPaint(),这是为什么呀?
pMyDlg->Create(IDD_DIALOG1,this);
pMyDlg->ShowWindow(SW_SHOW);
pMyDlg->m_ProgressCtrl.SetRange(0,100); //m_ProgressCtrl为派生CProcessCtrl类的成员
for(int i=0;i<100;i++)
{
pMyDlg->m_ProgressCtrl.SetPos(i);
}
在pMyDlg->m_ProgressCtrl.SetPos(i)这里和OnPaint()设置断点,发现不是每一次都能进入OnPaint(),这是为什么呀?
发消息以后整个窗口不是都闪烁了?
m_progressCtrl是CTextProcessCtrl类的对象(派生自CProcessCtrl)
窗口无效了,但是只有当消息没有阻塞时并且有必要重绘窗口时才会调OnPaint()。使用UpdateWindow()。