Autor |
Beitrag |
jenbru
Hält's aus hier
Beiträge: 6
D7, BDS2006, VS2005
|
Verfasst: Do 04.11.04 11:51
Hallo,
folgendes Problem:
ich arbeite derzeit an einem Software-Projekt, mit dem es möglich ist verschiedene Berechnungen aus dem Bereich der Lichttechnik durchzuführen und diese grafisch darzustellen.
Derzeit arbeite ich am Entwurf eines GUI-Prototyps. Um verschiedene Berechnungen zu vergleichen, soll es möglich sein mehrere unabhängige Darstellungen anzuzeigen. Dabei stellt sich die Frage nach der grundsätzlichen Vorgehensweise. Sollte man dies in einer einfachen MDI-Anwendung (Ein Hauptfenster, mehrere gleichartige Unterfenster) oder in einer SDI-Anwendung realisieren, bei der "scheinbar" mehrere Instanzen der Anwendung parallel geöffnet sind (Beispiel: MS Office)?
Leider habe ich keine Ahnung, wie man letzteres Beispiel, also eine SDI-Anwendung im Stil von MS Office implementieren könnte. Hat da jemand schon Erfahrungen mit gemacht? Setzt MS zur Realisierung solcher Anwendungen besondere Technologien ein?
Bis denne,
Jenne
|
|
patrick
      
Beiträge: 1481
WIN2k, WIN XP
D6 Personal, D2005 PE
|
Verfasst: Do 04.11.04 13:22
wie wäre es denn wenn du eine art "tab-browsing" machst, so wie sie in mozilla, opera oder in diversen editorprogrammen realisiert ist
möge die macht mir dir sein 
_________________ Patrick
im zweifelsfall immer das richtige tun!!!
|
|
jenbru 
Hält's aus hier
Beiträge: 6
D7, BDS2006, VS2005
|
Verfasst: Do 04.11.04 13:36
Hallo,
danke zunächst für die schnelle Antwort. Das mit dem "Tab-Browsing" hatte ich mir auch schon überlegt. Allerdings habe ich ja dann den Fokus auch wieder nur auf einem Fenster, was so nicht wirklich mein Problem löst, dass ich mehrere Darstellungen zwecks Vergleich gleichzeitig anzeigen muß.
|
|
patrick
      
Beiträge: 1481
WIN2k, WIN XP
D6 Personal, D2005 PE
|
Verfasst: Do 04.11.04 19:23
in diesem fall ist eine MDI die richtige wahl.
_________________ Patrick
im zweifelsfall immer das richtige tun!!!
|
|
jenbru 
Hält's aus hier
Beiträge: 6
D7, BDS2006, VS2005
|
Verfasst: Do 04.11.04 19:34
Hi,
Das waere sicher die am leichtesten zu implementierende Loesung. Allerdings geht der Trend
ja in Richtung SDI (man streitet sich ja offentsichtlich schon lange um das Thema MDI/SDI). Das hat auch der Kunde mitbekommen und wuenscht eben eine SDI-Loesung, die sich aehnlich den MS-Produkten verhaelt.
Bis denne,
Jenne
|
|
patrick
      
Beiträge: 1481
WIN2k, WIN XP
D6 Personal, D2005 PE
|
Verfasst: Do 04.11.04 20:24
aber wie willst du soetwas mit einem single data interface (SDI) realisieren wenn du mehrere daten gleichzeitig anzeigen willst?
word,excel usw sind übrigends auch MDI anwendungen, nur mit dem unterschied das die clients(dokumente)in der regel maximiert dargestellt sind.
aber mir kommt da grad noch ne idee. wie wäre es denn wenn du die daten "aufklappbar" machst:
ich hab da mal was zusammengeschustert(nur um das prinzip er verdeutlichen)

_________________ Patrick
im zweifelsfall immer das richtige tun!!!
|
|
patrick
      
Beiträge: 1481
WIN2k, WIN XP
D6 Personal, D2005 PE
|
Verfasst: Do 04.11.04 20:26
hab in sachen word und MDI/SDI grad was dazugelernt:
Zitat: |
Bis und mit Word 97 war MS Word ausschliesslich mit einem sogenannten MDI (Multi Document Interface) ausgestattet. Das Anwendungsfenster ist dabei immer genau einmal in der Taskleiste von MS Windows präsent. Das Anwendungsfenster wiederum kann dann aber 0 bis n Dokumente verwalten.
Mit Word2000 tritt das SDI (Single Document Interface) auf den Plan. Dabei mag der Eindruck aufkommen, dass MS Word gleich mehrmals aufgestartet wird, was wohl auch im Bezug auf den Speicherbedarf nicht sehr günstig wäre. Der Schein trügt hier aber. Faktisch startet MS Word nur ein einziges Mal. Jedes Word-Dokument hinterlässt allerdings (bewusst) einen Eintrag in der Taskleiste, was einerseits den Wechsel zwischen den verschiedenen Dokumenten erleichtert, allerdings auch zu einer Überflutung der Taskleiste führen kann. Letzteres ist allerdings nur arbeitstechnisch gesehen, ein Problem. |
_________________ Patrick
im zweifelsfall immer das richtige tun!!!
|
|
jenbru 
Hält's aus hier
Beiträge: 6
D7, BDS2006, VS2005
|
Verfasst: Do 04.11.04 20:40
Mach Dir nix draus, bis heute morgen wusste ich das mit dem Word auch nocht nicht
Aber genau in der Art wollte ich das eigentlich implementieren!
Die Idee mit den aufklappbaren Daten ist allerdings auch schick. Dann koennte ich doch mit "Tabs" arbeiten und die Daten in einem eigenen "Tab" vergleichen. Danke fuer den geistigen Anstoss
Bis denne,
Jenne
|
|
patrick
      
Beiträge: 1481
WIN2k, WIN XP
D6 Personal, D2005 PE
|
Verfasst: Fr 05.11.04 10:16
gern geschehen,
das macht dann 6% Gewinnbeteiligung an dem fertigen Produkt, sowie 40? für die angebrochene Arbeitsstunde 
_________________ Patrick
im zweifelsfall immer das richtige tun!!!
|
|
jenbru 
Hält's aus hier
Beiträge: 6
D7, BDS2006, VS2005
|
Verfasst: Fr 05.11.04 12:04
Hi,
patrick hat folgendes geschrieben: | gern geschehen,
das macht dann 6% Gewinnbeteiligung an dem fertigen Produkt, sowie 40? für die angebrochene Arbeitsstunde  |
Ich werde das umgehend an meinen Chef weiterleiten!
Schoenes Wochenende,
Jenne
|
|
jenbru 
Hält's aus hier
Beiträge: 6
D7, BDS2006, VS2005
|
Verfasst: Mo 08.11.04 14:19
Hallo,
Wen es interessiert, dank der Leutchen aus der deutschen Delphi-Newsgroup habe ich eine Loesung fuer mein Problem gefunden
Ich gebe meiner Anwendung einfach ein leeres, nicht sichtbares Hauptfenster
Delphi-Quelltext 1:
| Application.ShowMainForm:=False; |
Dann erzeuge ich bei Bedarf beliebige Instanzen einer neuen Form ohne "OWNER"
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| procedure NeuesFenster; var NeuesFenster:TBeliebigesFenster; begin NeuesFenster:=TBeliebigesFenster.Create(NIL); NeuesFenster.Show; end; |
Fuer meine neuen Fenster muss ich jetzt nur noch Taskbar-Eintraege erzeugen. Das geht mit Ueberschreibung der CreateParams(...) Prozedur
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| type TBeliebigesFenster = class(TCustomForm) protected procedure CreateParams(var Params: TCreateParams); override; public end;
implementation
procedure TBeliebigesFenster.CreateParams(var Params: TCreateParams); begin inherited CreateParams(Params); Params.WndParent:=0; end;
|
Bis denne,
Jenne
Moderiert von Tino: Code- durch Delphi-Tags ersetzt.
|
|