CFrameView (dll laden) austauschen



  • Hi,

    steh grad vor einem riesigen Problem bzw. vielleicht wähle ich auch im Moment den falschen Ansatz es zu lösen. Hoffe ihr könnt mir dabei weiterhelfen.

    Innerhalb der DocView SDI Application möchte ich eine Resource-DLL-Datei laden; welche geladen wird, indem man auf einen CButton der aktuellen CFrameView Class drückt.

    Die Resource-DLL wird auch geladen, und das Menü lässt sich mit folgendem Code anschließend auch entsprechend verändern;

    CMenu* m_pMenuNew = new CMenu;
    m_pMenuNew->LoadMenu(IDR_MAINFRAME);
    SetMenu(m_pMenuNew);
    

    aber das eigentliche FrameView-Fenster mit den CButton-Controls wird nicht entsprechend der neuen DLL upgedated. Ich weiß leider auch gar nicht welche Commands dafür notwendig sind.

    Projekt-Aufbau:
    
    main-application (startet zu Beginn)
    - mit Resource-Datei (MAIN_DIALOG), Menü (IDR_MAINFRAME)
    - DocView Cpp/h Dateien etc.
    
    erste resource-dll-application
    - nur Resource-Datei (MAIN_DIALOG), Menü (IDR_MAINFRAME)
      (alles wie zuvor; nur die Sprache der einzelnen Elemente ist ne andere)
    
    usw.
    

    Der MAIN_DIALOG stellt die CButtons zur Verfügung um die Resource-DLLs zu laden und dann die Controls entsprechend upzudaten.

    Der erste MAIN_DIALOG (DocView-Modell) wird entsprechend so geladen

    CMLSampleView::CMLSampleView()
    	: CFormView(CMLSampleView::IDD)
    {
    	// TODO: add construction code here
    
    }
    

    Die IDD = MAIN_DIALOG;

    Welche Commands muss ich erzeugen, damit der MAIN_DIALOG von der ersten-resource-dll geladen wird und der aktuell angezeigte MAIN_DIALOG von der DocView Main-Application ausgetauscht wird?

    Oder bin hier völlig auf dem falschen Dampfer?

    Gruß
    Johannes


Log in to reply