我要找的是一个特定的View,不是活动视图。

解决方案 »

  1.   

    在App中获得文档模板指针 从文档模板获得文档类指针 从文档类取得视图类的指针 
    然后用iskindof判断CDocument类提供了两个函数用于视图类的定位:
    GetFirstViewPosition()和GetNextView() virtual POSITION GetFirstViewPosition() const;
    virtual CView* GetNextView(POSITION& rPosition) const;pView->IsKindOf(RUNTIME_CLASS(CTestView));
    即可检查pView所指是否是CTestView类。可以用CWinApp::GetFirstDocTemplatePostion获得应用程序注册的第一个文档模板的位置;
    利用该值来调用CWinApp::GetNextDocTemplate函数,获得第一个CDocTemplate对象指针。 POSITION GetFirstDocTemplate( ) const; 
    CDocTemplate *GetNextDocTemplate( POSITION & pos ) const;一个文档模板可以有多个文档,每个文档模板都保留并维护了一个所有对应文档的指针列表。 
    用CDocTemplate::GetFirstDocPosition函数获得与文档模板相关的文档集合中第一个文档的位置,并用POSITION值作为CDocTemplate::GetNextDoc的参数来重复遍历与模板相关的文档列表。函数原形为: viaual POSITION GetFirstDocPosition( ) const = 0; 
    visual CDocument *GetNextDoc(POSITION & rPos) const = 0; 
    如果列表为空,则rPos被置为NULL.