Ccurwin mycurwin;
...
void Ccurwin::OnPaint() //在Ccurwin类中定义的消息响应函数onpaint用来划线
{
CPaintDC dc(this);
...
}
...
mycurwin.m_black.ShowWindow(SW_SHOW); //m_black是关联一个pic的关联变量这个showwindow()是在其他的类中先于OnPaint()调用的,也就是说是由于调用showwindow()而激发的窗口的重绘才调用的onpaint()
我理解的顺序是:程序mycurwin.m_black.ShowWindow(SW_SHOW)在执行到一半的某个时候就引起了窗口的重绘,最后才showwindow,也就是说onpaint发生在mycurwin.m_black.ShowWindow(SW_SHOW)开始之后、结束之前。不知道我理解的对不对。
...
void Ccurwin::OnPaint() //在Ccurwin类中定义的消息响应函数onpaint用来划线
{
CPaintDC dc(this);
...
}
...
mycurwin.m_black.ShowWindow(SW_SHOW); //m_black是关联一个pic的关联变量这个showwindow()是在其他的类中先于OnPaint()调用的,也就是说是由于调用showwindow()而激发的窗口的重绘才调用的onpaint()
我理解的顺序是:程序mycurwin.m_black.ShowWindow(SW_SHOW)在执行到一半的某个时候就引起了窗口的重绘,最后才showwindow,也就是说onpaint发生在mycurwin.m_black.ShowWindow(SW_SHOW)开始之后、结束之前。不知道我理解的对不对。
=============================
不是的,不要忘了,你的程序是单线程的,怎么可能会你上面所说情况发生呢?ShowWindow在完成后产生WM_PAINT,而WM_PAINT才会调用OnPaint