Kann man eigentlich auch n Dialog oder ne ListCtrl als View fürs Doc verwenden??



  • Hi,

    eine kleine Sicherheitsfrage, ob es wirklich nicht geht....also ich will diesen Update-Mechanismus von Doc-View verwenden. Dazu bietet ja CDocument auch ne Mehtode addView().

    Ich habe einen Dialog (also von CDialog abgeleitet) und will den auch als View an das Document anhängen, damit der auch quasi automatisch geupdatet wird und ich das nicht alles selbst schreiben muß....aber mir schwant, dass das nicht geht, weil weder die CListCtrl noch der CDialog von CView abgeleitet sind...oder??...



  • Kannst du nicht Invalidate() und UpdateData() benutzen?



  • maxpower24 schrieb:

    ....aber mir schwant, dass das nicht geht, weil weder die CListCtrl noch der CDialog von CView abgeleitet sind...oder??...

    Naja, da könntest du einfach CFormView oder CListCtrlView (oder so ähnlich) nutzen und das Problem wäre behoben. 🙂

    Aber ob das klappt weiß ich nicht. Ich nutze zwar Formviews, aber nicht nach Schema F Microsoft Standard... 😉



  • Paul_C. schrieb:

    Kannst du nicht Invalidate() und UpdateData() benutzen?

    Hi,

    danke für den Tip, aber eigentlich ist es das ,glaube ich, noch nicht so ganz...ich will ja, dass wenn ich im Doc UpdateAllView() rufe, er alle Views abdatet. Bei deiner Idee, müßte man ja das von selber anstossen oder??...

    Ich will im Grunde folgende Architektur:
    ****************************************
    -hänge beliebig viele Views ans Doc...
    -User macht irgendwas ==> rufe eine Funktion auf dem Doc auf, z.b. addSomething()
    - in Doc::AddSomething() steht dann irgendwann UpdateAllViews(), sodass sich alle Views updaten können....

    ==> bei deiner IDee müßte man, glaube ich, von selber noch Invalidate() aufrufen, was nichts mehr mit dem MVC-Pattern zu hätte....:(...trotzdem danke.



  • estartu schrieb:

    maxpower24 schrieb:

    ....aber mir schwant, dass das nicht geht, weil weder die CListCtrl noch der CDialog von CView abgeleitet sind...oder??...

    Naja, da könntest du einfach CFormView oder CListCtrlView (oder so ähnlich) nutzen und das Problem wäre behoben. 🙂

    Aber ob das klappt weiß ich nicht. Ich nutze zwar Formviews, aber nicht nach Schema F Microsoft Standard... 😉

    ...;)...danke, für die antwort....daran hab ich auch schon mal gedacht...würde wahrscheinlich auch klappen....nur leider würde das wieder n haufen refactoring bedeuten...grrrr.....aber eines ist dabei noch wichtig..:

    Kann man denn solch eine FormView auch modal laufen lassen???..Mein jeztiger Dialog ist nämlich auch modal...



  • maxpower24 schrieb:

    ...;)...danke, für die antwort....daran hab ich auch schon mal gedacht...würde wahrscheinlich auch klappen....nur leider würde das wieder n haufen refactoring bedeuten...grrrr.....aber eines ist dabei noch wichtig..:

    Das ist nicht so schlimm, wie es sich zuerst anhört. Viel kannst du einfach kopieren. 🙂

    Kann man denn solch eine FormView auch modal laufen lassen???..Mein jeztiger Dialog ist nämlich auch modal...

    Ich fürchte nicht. 😞

    ...moment mal... Während ein modaler Dialog offen ist, hat das Doc sowieso Pause. Das tut nix, kann also auch nicht updaten. Was genau hast du vor? 😕
    Vielleicht gibts eine andere Lösung.


Anmelden zum Antworten