Guten Tag Hab ne Frage und zwar hab ich eine Liste, die mir einige Files anzeigt. Nun kann ich mit einem Doppelclick diese Files öffnen und wenn ich dieses File öffne, möchte ich im gleichen Fenster in eine andere Ansicht wechseln. Kann mir jemand Inputs geben, hab keine Ideen wie ich es lösen könnte. Ich wäre Dankbar für die Hilfe, programmiere mit C++ auf MFC Basis. Gruss Hansi
Hab nichts gefunden um nachzulesen, vielleicht kannst du mir ja eine Seite angeben, wo etwas darüber lesbar ist. Die Frage war vielleicht dumm, aber die Antwort war nicht viel gescheiter, Gruss Hansi
Du möchtest also anstelle der Liste von Dateien im Fenster die Datei als andere Ansicht darstellen? Mach 'ne MDI-Applikation, lasse die Childframes maximiert anzeigen und aktiviere das durch Doppelklick geladene Childframe.
Hansi wrote: > Guten Tag > > Hab ne Frage und zwar hab ich eine Liste, die mir einige Files anzeigt. > Nun kann ich mit einem Doppelclick diese Files öffnen und wenn ich > dieses File öffne, möchte ich im gleichen Fenster in eine andere Ansicht > wechseln. Es würde helfen, wenn du sagen würdest wie das ganze realisiert ist. Je nachdem ob sich das ganze in einem Dialog oder in einer View abspielt, sind andere Lösungsansätze möglich. Falls View: Was spielt sich noch in dieser View ab? Willst du das File nur anzeigen, oder willst du es auch verändern? Im einfachsten Fall hat deine View 2 'Modi', die über eine View Lokale Variable unterschieden werden. Im OnPaint Handler wird je nach eingestelltem Modus einmal die File Liste und einmal der File Inhalt angezeigt. Ist zwar nicht die eleganteste Lösung, funktioniert aber und ist relativ einfach zu realisieren (für sich alleine genommen, kommt drauf an, was sich sonst noch so im View abspielt). Eine andere mögliche Strategie wäre es, gar keine Umschaltung vorzunehmen, sondern die Applikation gleich so aufzubauen, dass beides, FileListe und File Inhalt, immer gleichzeitig sichtbar sind. Dazu würde ich mit einem Splitter das Window (je nachdem ob das eine MDI Applikation ist oder eine SDI Applikation ist das eine andere) in 2 Bereiche unterteilen. In den einen kommt eine FormView hinein, in der die FileListe samt ein paar Bedien- buttons sitzt, in der anderen eine EditView. Möglichkeiten gibt es da mehrere. Welche davon zielführend ist, hängt von der Art deiner Applikation ab, wie das UI zur Zeit aussieht (vielleicht willst du ja auch einfach nur einen FileViewer bauen. Dann könnte man das ganze als Dialogbasierte Applikation aufziehen. Wieder mit einer File Liste und daneben einem Edit Feld), und von deinen MFC Kenntnissen.
@Karl: FormView ? Hätte jetzt eher an CtrlView bzw. direkt ListView/TreeView gedacht. Ist aber vielleicht einfach zu lange her, daß ich mit der MFC rumgespielt habe :) Ansonsten wäre eine weitere Möglichkeite, die File Liste in eine DialogBar zu verpacken. Und via PropertySheet/PropertyPage ginge auch noch was. CU
FBI wrote: > @Karl: FormView ? Jep. Den hatte ich diese Woche im Einsatz. Ein CFormView ist ne feine Sache. Du erstellst im Resource Editor ein Dialog Template (als Child, keine Border), lässt dir vom Wizard einen FormView generieren und trägst die Resource-Id des 'Dialogs' ein. Schon stellt der View diesen 'Dialog' dar. Alles weitere funktioniert wie in einem Dialog. Der Vorteil ist, dass du keinen grossen Mehraufwand hast, wenn du mehrere Controls in einem View brauchst. Der Nachteil ist die OnSize Orgie, wenn du auf View Größen- änderung reagieren willst. Apropos OnSize-Orgie. Von euch kennt niemand eine Lib, der ich Die Controls in einem Dialog (oder einer FormView) vorwerfe, zusammen mit Layoutangaben (wenn geht ähnlich dem Anchor-Attribut in .Net 2.0) und die sich dann um den Resize kümmert? Wenn nicht ists auch nicht schlimm. Bleibt die Demo halt so wie sie ist. > Hätte jetzt eher an CtrlView bzw. direkt > ListView/TreeView gedacht. Daran hab ich auch zuerst gedacht. Aber du kennst doch das Spielchen: Der Kunde will dann noch einen 'Browse' Button dazu. Nächste Woche möchte er dann das selektierte File löschen, etc. > Ist aber vielleicht einfach zu lange her, daß > ich mit der MFC rumgespielt habe :) > > Ansonsten wäre eine weitere Möglichkeite, die File Liste in eine > DialogBar zu verpacken. > Und via PropertySheet/PropertyPage ginge auch noch was. Yep. Viele Wege führen nach Rom.
> OnSize Orgie
Ooooooh jaaaaaaaa! Die kenne ich!
Besonders, wenn es nicht flackern soll und MS sich auch noch andauernd
verrechnet. Das geht dann nur noch zu Fuß. Eigentlich könnte man die
Controls dann auch gleich komplett selbst malen. Der Aufwand ist auch
nicht viel größer.
Frank
PS: Du hast recht mit dem FormView. Hab grad noch gesehen, daß ich den
auch verwendet hatte. Da drin dann die Variante mit PropertySheet und
mehreren PropertyPage. Aber zum Glück nur jeweils ein ListCtrl pro Page.
Eins davon dafür dann mit einigen graphischen Spielereien. Die OnPaint
Methode war mehrere hundert Zeilen lang :)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.