SDI/MDI oder wie sonst
-
Hallo!
Ich wollte ein Programm machen, bei dem ich mehrere DialogBoxen innerhalb eines großen Fenster verschieben kann (so ähnlich wie die frei schwebenden Menüs bei Bildbearbeitungsprogrammen). Außer den Dialogboxen soll sich nichts in dem Anwendungsfenster befinden, also keine "normalen" Dokumentfenster wie das bei den SDI/MDI Anwendungen der Fall ist. Aber wie muss ich das machen? Bei einer MDI Anwendung kann ich keine Dialogboxen erstellen, sondern nur diese normalen Dokumente, und bei einer Dialog-basierten Anwendung kann ich nur eine Dialobox erstellen. Ich stell mir das so vor wie auf dem Bild, auf das der Link zeigt:
http://www.roboterwelt.de/galerie/may/rob2.jpg
Danke schon mal
mfg Michael
-
hmmm, natürlich kannst du beides gleichzeitig benutzen. Mach ne MDI Anwendung. Wenn du ne DialogBox brauchst nimmste halt CDialog. Wo ist das Problem?
-
Also auf dem Bild das sieht nicht nach MDI aus. Ich glaube eher das sind ein paar parallel zueinander laufende Fenster auf dem Desktop angeordnet... Dies kannst du aber natürlich auch machen.
-
Ok danke werds dann mal mit MDI probieren.
Warum bin ich auf das mit dem CDialog nicht selber draufgekommen bin, frag ich mich auch, liegt ja auf der Hand.
Aber danke
-
OK es funktioniert alles bestens, aber ein kleines Problem hab ich noch: Wie kann ich verhindern, dass ich die Dialogboxen aus dem Hauptfenster hinauschieben kann, so dass ich sie halt nur bis zum Rand bewegen kann und dann nicht mehr weiter.
-
Ich glaub die Dialogboxen müssen Childfenster von dem Hauptfenster sein.
Wie hast du des jetzt gemacht, hast du MDI oder SDI genommen.
Du benützt aber nicht das Doc/View - Model, also ds mit CView und CDocument.
Oder wie macht man des am besten, hab mich sowas auch schon lange gewundert.
-
Ich habs mit MDI gemacht. Das Doc/View Model hab ich zwar beim erstellen angemacht, aber jetzt benutz ich es doch nicht. Aber wenn ich ein Fenster als child definiere, kann ich es nicht mehr verschieben. Dann wird es nicht mehr aktiv wenn ich auf das Fenster klicke.
-
Aber wenn ich ein Fenster als child definiere, kann ich es nicht mehr verschieben
Erstell einfach ein Child mit Titelleiste, so wie es in dem Bild auch gemacht ist, dann kannste auch SDI nehmen!
-
Ich hab es ja mit Titelleiste, aber wenn ich auf das Fenster klicke um es auszuwählen, dann passiert gar nichts. Die Titelleiste ist immer grau hinterlegt, darum kann ich es nicht verschieben, weil ich es nicht einmal auswählen kann.
-
Man, mach doch ein ganz normales MDI Fenster da rein, so wie die anderen auch. Die lassen sich ja auch verschieben.