OnFileOpen() der CWinApp und mehr



  • Hallo!

    Ich habe folgendes Problem:

    Beim Laden eines Dokuments sollen die Größe und die Position des View-Windows angepasst werden. Ich dachte mir, das mache ich besten in einer überschriebenen OnFileOpen() in der Applikationsklasse. Überschreiben ist kein Problem:

    void CMyApp::OnFileOpen()
    {
        CString fileName;
        if(!DoPromptFileName(fileName, AFX_IDS_OPENFILE,
        OFN_HIDEREADONLY | OFN_FILEMUSTEXIST, TRUE, NULL))
            return;
        OpenDocumentFile(fileName);
    }
    

    Aber wie bekomme ich dann von hier aus Zugriff auf das neue Frame-Wnd, das das geladene Dokument enthält??

    Wenn jemand einen Tipp hätte, wäre mir sehr geholfen!!

    Danke und Ciao



  • Völlig falsche Position.
    Du gehst in Dein Dokument::OnOpenDocument, lässt das File von der Basisklasse laden und setzt dann die neue Grösse.
    Prinzipiell so:
    BOOL CMyDocument::OnOpenDocument(...)
    {
    BOOL bRet = CDocument::OnOpenDocument( ...);
    if( bRet)
    {
    CWnd* pWnd = AfxGetMainWnd(); // Hauptfenster
    // mache was mit Hauptfenster
    }
    return bRet;
    }


Anmelden zum Antworten