in einer MFC-Dll einen nicht modalen Dialog erzeugen



  • Hallo,

    ich habe eine MFC-Dll erstellt, die MFC ist statisch dazu gebunden.

    Diese dll wird von einer nicht MFC-Dll dynamisch nachgeladen, die dann eine Funktion
    in der MFC-Dll aufruft welche dann einen nicht modalen Dialog öffnen soll.

    Der Dialog wird folgendermaßen erzeugt:

    m_dlg->Create(Dlg::IDD);
    m_dlg->ShowWindow(SW_SHOW);
    

    nun sollte man ja mit dem Dialog arbeiten können, was leider nicht der Fall ist.
    Der Dialog ist zwar zu sehen, aber wenn man mit der Maus drüber steht läuft
    dort nur die Sanduhr, ein Betätigen der Buttons oder verschieben des Fensters geht nicht.

    Hat da jemand einen Tip für mich wo das Problem liegen könnte?

    Gruß Harry





  • Hallo estartu,

    estartu schrieb:

    Hilft dir hiervon was? http://www.c-plusplus.net/forum/viewtopic-var-t-is-134461.html

    Danke für den Tip, aber leider hilf mir davon nichts.
    Den Artikel hatte ich auch schon gefunden, war erst schonmal ein bischen am suchen im Froum bevor ich meine Frage stellte.

    Gruß harry1



  • Hallo zusammen,

    Da zu meinem Problem noch niemand eine Idee hatte, Beschreib ich mal was ich eigentlich vorhabe,
    vielleicht hat ja jemand eine Idee wie man es anders lösen kann.

    Also, ich habe eine nicht MFC-Dll die einige arbeiten verrichtet die so lange dauern das es angebracht ist
    dem Benutzer anzuzeigen das sich noch was tut und auch was sich gerade so tut.

    Da hatte ich nun die Idee eine MFC-Dll zu machen welche von der anderen dll aufrufe entgegen nimmt mit der
    Info was gerade abläuft. Diese Information wollte ich dann in einem Dialog mit einem CListBox-Element anzeigen.
    Dieser Dialog muß ja nun mal nicht modal sein.

    Die Aufrufe von aussen sind implementiert, der Dialog wird nur nicht richtig angezeigt, wie im ersten
    Posting schon beschrieben.

    Evtl. hat jemand von Euch eine andere Idee wie man sowas lösen kann.

    Gruß harry1



  • Wenn du keine Threads verwendest dann wird das nichts. Eine modlessdialog =! eigene Thread dafür.



  • Hallo Unix-Tom,

    Ich hatte mir zum Testen ein MFC-Exe Projekt gemacht, darin einen Modalen Dialog erstellt der dann einen nicht modalen Dialog aufruft, auf dem modalen Dialog hatte ich einen Button plaziert der beim Klick dann einen Text an den nicht modalen Dialog übergibt und dieser dann den Text in meiner CListBox anzeigt, das hatte funktioniert, auch ohne Thread.

    Es klappt nur dann nicht wenn ich den nicht modalen Dialog in einer Dll habe.

    Wie würde ich denn das anfangen mit einem Thread?
    Den Thread starten und darin den nicht modalen Dialaog erzeugen?

    Gruß harry1



  • Unix-Tom schrieb:

    Eine modlessdialog =! eigene Thread dafür.

    sicher??? 😕


Anmelden zum Antworten