vc杂记

关于static成员变量

1、            在一个类的头文件里声明了一个这个类的 Static 成员变量。
Class Base
{
 Privter:
         Static CWnd*  thiz;  // 在这个类中定义了一个静态成员变量
};
 
2、            在这个类的 .cpp 文件中需要这样来初始化
CWnd*    Base::thiz = NULL;

  

关于多文档的关系:
1、            因为在CMainFrame中有多个CView所以它是通过遍历来得到我们想要的CView,
 
2、            CView 中怎样得到CMainFrame的句柄指针?
可以使用 AfxGetMainWnd ( );
CDocView :: CDocView ()
{
                            CWnd * pMainFrame = :: AfxGetMainWnd (); // 得到 CMainFrame 句柄
                            pMainFrame -> SetWindowPos ( NULL , 0,0,100,300, SWP_NOMOVE );
}
 
3、            CView 中怎样得到CDoc的?
在CView中有一个 GetDocument () 函数专门用来得到CDoc的指针
CDocDoc * CDocView :: GetDocument () // non-debug version is inline
{
       ASSERT ( m_pDocument -> IsKindOf ( RUNTIME_CLASS ( CDocDoc )));
       return ( CDocDoc *) m_pDocument ;
}

你可能感兴趣的:(c/c++)