Xojo Developer Conference
25/27th April 2018 in Denver.
MBS Xojo Conference
6/7th September 2018 in Munich, Germany.

AW: MDI simulieren (Real Studio network user group Deutschland Mailinglist archive)

Back to the thread list
Previous thread: Zugriff auf MySQL Datenbank auf Webserver
Next thread: MDI simulieren


Re: MDI simulieren   -   Christiaan Verbree
  AW: MDI simulieren   -   Christian Hahn
   Re: AW: MDI simulieren   -   Andy Fuchs
   Re: AW: MDI simulieren   -   Christiaan Verbree
    Re: AW: MDI simulieren   -   Stefan Mettenbrink

AW: MDI simulieren
Date: 10.08.07 12:36 (Fri, 10 Aug 2007 13:36:11 +0200)
From: Christian Hahn
Lieber Christiaan, danke für deine Anteilnahme und ich bin immerhin froh,
dass ich nichts übersehen habe. Ja, das sieht tatsächlich so aus, als würde
das ein Krampf ohne Ende, und davon lasse ich dann doch lieber die Finger.
Dennoch, MDI ist für den Anwender eine angenehme Sache, weil er ständig das
sichere Gefühl hat, in ein und der selben Anwendung zu sein. Das Wechseln
von einem Fenster in ein anderes impliziert immer das Gefühl, auch die
Anwendung zu wechseln. Und dieses Gefühl ist berechtigt, weil u.U. in den
Zwischenräumen zwischen den Fenstern meines Programms die möglicherweise
geöffneten Fenster anderer Programme sichtbar sind.

> Weitere Variante wäre mit einem Canvas eine eigene Mdi Oberfläche zu
> Programmieren,

Das geht tatsächlich, habe ich schon gemacht, aber das Verschieben des
Canvas wird ungeheuer kompliziert und kostet wirklich Zeit.

> > Z.Zt. habe ich die einzelnen Fenster als gewöhnliche Document-Fenster
> > ausgelegt. Aber wo könnte man das für alle Fenster gültige Menü
> > unterbringen.
> Ehm das verstehe ich nicht ganz, unter Mac ist doch das Menu eh in
> der Menubar, für Windows und Linux, könntest du noch ein weiteres
> Fenster machen, das du Horizontal über allen anderen Positioniert, so
> als eine Art Fake Menubar. Im Office für Mac wurde die Toolbar da
> auch so ähnlich gelöst.

Danke für den Hinweis auf die allgemeine Menü-Leiste unter Mac. Ich scheue
mich bloß davor, für jede Plattform eine eigene Version schreiben zu müssen.

> Um dann noch einen schönen Hintergrund alla Mdi zu bekommen könntest
> du noch ein weiteres Fenster nehmen das dann einfach so gross ist,
> das alle anderen darin liegen. Müsstest nur einen Code finden, der es
> verunmöglicht das deine Dokumentfenster hinter das grosse geraten.
> Keine Ahnung ob man das irgendwie hinbekommt (wird sicher ein
> gebastel). Dann fehlen dann noch die Scroll-Implementierung für das
> Hintergrundfenster und das richtige Verhalten für Minimierung und
> Grössenveränderung.

Oh, oh, bei so etwas habe ich mir schon böse die Karten gelegt, weil dann
die Reihenfolge für das Neuzeichnen der einzelnen Fenster kontrolliert
werden muss, und das macht wieder riesigen Aufwand.

> Eine weitere Möglichkeit wäre vielleicht das neue Steuerelement vom
> RB2007 (keine Ahnung ob das die aktuelle Version ist). Dort gibt es
> doch so ein Objekt, das man wie ein Fenster desingen kann. Und diese
> kann man dann in andere Fenster einfügen. Vielleicht lässt sich mit
> dem was machen.

Vermutlich meinst du das Drawer-Window und die Methode ShowWithin. Gibt's
aber nur unter Mac.

Alles in Allem, RB ist schon Klasse und die Plattform-Unabhängigkeit ist
schon eine erstaunliche Leistung. Da will ich 'mal nicht meckern, wenn ich
nicht alles auf allen Plattformen machen kann.

beste Grüße, Christian Hahn.

Re: AW: MDI simulieren
Date: 10.08.07 13:25 (Fri, 10 Aug 2007 14:25:30 +0200)
From: Andy Fuchs
Vielleicht verstehe ich nicht so ganz worum es geht, aber ich würde das über
ein PagePanel erledigen. Damit bekommst Du alles bequem in ein Fenster, und
hast Drag'n'Drop, etc. umsonst.

andy

at 10.08.2007 13:36 Uhr, Christian Hahn wrote:

>
>> Weitere Variante wäre mit einem Canvas eine eigene Mdi Oberfläche zu
>> Programmieren,
>
> Das geht tatsächlich, habe ich schon gemacht, aber das Verschieben des
> Canvas wird ungeheuer kompliziert und kostet wirklich Zeit.

Re: AW: MDI simulieren
Date: 10.08.07 13:26 (Fri, 10 Aug 2007 14:26:23 +0200)
From: Christiaan Verbree
Hallo Christian

Am 10.08.2007 um 13:36 schrieb Christian Hahn:

>> Weitere Variante wäre mit einem Canvas eine eigene Mdi Oberfläche zu
>> Programmieren,
>
> Das geht tatsächlich, habe ich schon gemacht, aber das Verschieben des
> Canvas wird ungeheuer kompliziert und kostet wirklich Zeit.

Ehm ne, meine Idee war es dann nicht das Canvas zu bewegen, dort drin
würde nur deine ganze Mdi-Umgebung gezeichnet. Für einzelne Fenster
müsste man sich dann dort eine eigene Pseudo-Window-Klasse schreiben
die sich dann so verhält wie man es sich vom Fenstern gewohnt ist.
Aber dieser Ansatz ist halt aufwendig und nicht unbedingt mit den RB
eigenen Kontrolls kompatibel.

>> Eine weitere Möglichkeit wäre vielleicht das neue Steuerelement vom
>> RB2007 (keine Ahnung ob das die aktuelle Version ist). Dort gibt es
>> doch so ein Objekt, das man wie ein Fenster desingen kann. Und diese
>> kann man dann in andere Fenster einfügen. Vielleicht lässt sich mit
>> dem was machen.
>
> Vermutlich meinst du das Drawer-Window und die Methode ShowWithin.
> Gibt's
> aber nur unter Mac.

Ehm ne das war das ContainerControl (http://www.realsoftware.com/
products/realbasic/pro/) gibt es aber leider nur für die Pro Version
und ich bin nicht wirklich sicher ob es damit wirklich gehen sollte,
es ist eine Art Canvas wo man auch Steuerelemente rein tun kann.

> Alles in Allem, RB ist schon Klasse und die Plattform-
> Unabhängigkeit ist
> schon eine erstaunliche Leistung. Da will ich 'mal nicht meckern,
> wenn ich
> nicht alles auf allen Plattformen machen kann.

Naja Platformunabhängigkeit ist irgendwie nie einfach oO, leider.
Vorallem wenn man dann noch die maxime hat das es auf jedem System
nativ aussehen soll.

Ist halt auch die Frage was man seinen Benutzern aufzwingen/ erleben
will. Also entweder die Applikation sieht überall gleich aus oder man
geht davon aus das sich der Benutzer auf seinem System wohl fühlt und
bietet ihm dann seine Oberflächen so an wie es auf dem System üblich
ist. Ist glaube ich ein Dilemma das man nie zu 100% lösen kann.

gruss Christiaan

Re: AW: MDI simulieren
Date: 10.08.07 12:57 (Fri, 10 Aug 2007 13:57:49 +0200)
From: Stefan Mettenbrink
Christian Hahn wrote:

> Lieber Christiaan, danke für deine Anteilnahme und ich bin immerhin froh,
> dass ich nichts übersehen habe. Ja, das sieht tatsächlich so aus, als würde
> das ein Krampf ohne Ende, und davon lasse ich dann doch lieber die Finger.
> Dennoch, MDI ist für den Anwender eine angenehme Sache, weil er ständig das
> sichere Gefühl hat, in ein und der selben Anwendung zu sein. Das Wechseln
> von einem Fenster in ein anderes impliziert immer das Gefühl, auch die
> Anwendung zu wechseln. Und dieses Gefühl ist berechtigt, weil u.U. in den
> Zwischenräumen zwischen den Fenstern meines Programms die möglicherweise
> geöffneten Fenster anderer Programme sichtbar sind.

Ich teile Deine Ansicht nicht. Ich habe gern auch andere Programme im
Blick und bei Einsatz von zwei Monitoren ist MDI auch nicht geschickt.
Das größte Manko ist aber die fehlende Möglichkeit, per Drag&Darop
Daten aus anderen Programmen zu übernehmen.

Hier merkt man sehr schnell, wer es gewohnt ist, mit Mac OS oder mit
Windows zu arbeiten.

MfG, Metti.