AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

MDI oder SDI?

Ein Thema von davar · begonnen am 2. Feb 2006 · letzter Beitrag vom 2. Feb 2006
Antwort Antwort
Benutzerbild von Ralf Kaiser
Ralf Kaiser

Registriert seit: 21. Mär 2005
Ort: Wuppertal
932 Beiträge
 
Delphi 10.3 Rio
 
#1

Re: MDI oder SDI?

  Alt 2. Feb 2006, 09:23
Halli Hallo,

Zitat von davar:
Nun kam ich auf die Idee des MDI, aber alles, was ich bisher als MDI gesehen habe, waren Textverarbeitung o.ä. Sachen, also alle Fenster mit gleichem Inhalt.
MDI ist (wie so viele "Modeerscheinungen" bei Software) heutztage eigentlich "nicht mehr üblich".

Zitat von davar:
...immer da ist und immer der untere Teil des Formulars sich verändert, wenn ich eine bestimmte Funktion aufrufe, quasi wie Frames bei HTML.
Delphi bietet dazu (Stichwort "quasi wie Frames bei HTML") eine sehr gute Möglichkeit an, die sich auch noch genau so nennt: ein Frame!

Mit Frames (besser: TFrame-Komponenten) kann man hervorragend Benutzerschnittstellen im Stile von z.B. Outlook bauen bei denen irgendwo im Fenster Kontrollelemente (Toolbars, Navigationsleisten) fest vorhanden sind und in einem zentralen Bereich jeweils der aktuelle Inhalt eingeblendet wird.

Dazu erstellt man die Frames ganz normal mit Delphi und füllt sie mit Leben, sprich Code. Dann fügt man die Frames aber nicht visuell in das Hauptformular ein, sondern erzeugt sie dynamisch und setzt sie per Code beispielsweise in ein zentral im Haupformular vorhandenes Panle ein.

Also in etwa so:

Delphi-Quellcode:
  
  MeinBearbeitungsFrame := TMeinBearbeitungsFrame.Create(Self);
  MeinBearbeitungsFrame.Align := alClient
  MeinBearbeitungsFrame.Parent := ZentralesPanel;
  MeinBearbeitungsFrame.Visible := true;
  MeinBearbeitungsFrame.InitialisiereDasFrame;
Für das Schliessen der Frames kann man in der Frame-Klasse Events implementieren die das Haptformular davon unterichten, daß das Frame doch jetzt bitte entfernt werden soll. Ebenso kann die Frameklasse Methoden enthalten mit denen das Hauptformular abfragen kann ob noch ungespeicherte Daten da sind (so etwas wie "function CanClose: boolean").

Ich hoffe, diese Idee hilt ein wenig weiter,
Ralf
Ralf Kaiser
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz