CView的问题
我程序是一个多视图(CView)的结构.但是我在文档类中运行一段程序的时候出现了奇怪的问题.我取得了一个视图实例的指针,但是我发现它的hwnd属性的值是0x00000000,导致我无法刷新这个视图。
void CInfoCenterDoc::OnRepaintAllViews()
{
int nFlag = 1;
POSITION pos = GetFirstViewPosition();
while (pos != NULL)
{
CView* pView = GetNextView(pos);
if( 2 == nFlag )
{
m_nFreshPerCount++;
if( m_nFreshPerCount >= 3 )
{
pView->Invalidate(FALSE);
m_nFreshPerCount = 0;
}
}
else
{
pView->Invalidate(FALSE); //断点就这在这里
}
nFlag++;
}
}
运行pView->Invalidate(FALSE);的时候,我查看当前变量的值时
发现
pView 0x003f8100{CPropertyView hwnd=???}
CWnd {CWnd hwnd = 0x00000000}
classView {"CView"}
m_pDocument 0x00c42e00{CInfoCenterDoc}
………………
为什么hwnd的值是0x00000000呢,不明白
请那位大虾指点一下