Get Document class anywhere in MFC program.

来源:互联网 发布:linux sort 编辑:程序博客网 时间:2024/04/27 23:55

 inline C3DBuilderDoc* Layer::GetDocument()
{
    C3DBuilderDoc* builderdoc = NULL;    
    CWinApp* pApp = AfxGetApp();
    C3DBuilderApp*  pA = (C3DBuilderApp*) pApp;
    POSITION pos;
    pos = pA->pDocTemplate->GetFirstDocPosition();
    while (pos != NULL)
    {
        CDocument* pDoc = pA->pDocTemplate->GetNextDoc(pos);
        if (pDoc->IsKindOf(RUNTIME_CLASS(C3DBuilderDoc)))
        {
            builderdoc = (C3DBuilderDoc*) pDoc;
        }
    }
    return builderdoc;
}