Difference between revisions of "MultiDoc/de"
m |
m |
||
(8 intermediate revisions by 2 users not shown) | |||
Line 4: | Line 4: | ||
MultiDoc ist ein Lazarus Package zum Ersetzen des Standard MDI Interface. | MultiDoc ist ein Lazarus Package zum Ersetzen des Standard MDI Interface. | ||
− | + | Diese Komponente erlaubt das Schreiben von nachgebildeten MDI-Anwendungen. | |
− | + | Es ist keine richtige Implementierung der MDI-Schnittstelle aber es ermöglicht die Nutzung vieler Unterformulare, welche in ihrer Größe geändert werden können. | |
− | |||
Es gibt 2 Komponenten: | Es gibt 2 Komponenten: | ||
− | * TMultiDoc : | + | * TMultiDoc : Der Aufnahmebereich für die Unterformulare auf dem Hauptformular |
− | * TChildDoc : | + | * TChildDoc : Kapselung des Unterfomulars mit größenveränderbarer Border und Button |
− | + | Verwendet wurde die Komponente in einer [[Media:Multidoc_skychart.jpg|Graphiksoftware]]. Allerdings ist sie auch für viele andere Anwendung hilfreich. | |
− | === | + | === Screenshot === |
[[Image:Multidoc_demo.png]] | [[Image:Multidoc_demo.png]] | ||
Line 24: | Line 23: | ||
=== Download === | === Download === | ||
− | + | Die Komponente und ein Demonstrationsprogramm sind zu finden im [http://sourceforge.net/project/showfiles.php?group_id=92177&package_id=176905 Lazarus-CCR Sourceforge Bereich]. | |
=== Change Log === | === Change Log === | ||
− | * Version 0.2 2007/01/06 | + | * Version 0.2 2007/01/06 bereinigte folgendes: |
− | *# BorderWidth | + | *# BorderWidth-Eigenschaft arbeitete nicht |
− | *# | + | *# Falsche Button-Reihenfolge |
− | *# | + | *# Zentrierung des Cursors auf der Titelleiste, wenn das Panel bewegt wird. |
− | *# | + | *# GTK2 und FPC 2.1.1 Kompatibilität |
− | *# Crash | + | *# Crash wenn ein Formular über Schließen-Button beendet wurde |
− | *# | + | *# Lizenz zu modifizierter LGPL geändert |
− | * Version 0.1 2006/01/20 | + | * Version 0.1 2006/01/20 Erstes Beta-Release. |
=== Abhängigkeiten / Systemvoraussetzungen === | === Abhängigkeiten / Systemvoraussetzungen === | ||
− | + | Diese Komponente ist ausschließlich von Standardkomponenten abgeleitet (TPanel, TCustomSplitter, TSpeedButton) und sollte daher unter allen Plattformen ohne Anpassungen funktionieren. | |
− | |||
− | Getestet unter Linux und Windows. | + | Getestet wurde sie unter Linux und Windows. |
=== Anmerkungen === | === Anmerkungen === | ||
Line 48: | Line 46: | ||
=== Installation === | === Installation === | ||
* Kompilieren und installieren sie multidocpackage.lpk | * Kompilieren und installieren sie multidocpackage.lpk | ||
− | * Öffnen sie das Beispiel demo/demomultidoc.lpi | + | * Öffnen sie das Beispiel demo/demomultidoc.lpi (Dieses Beispiel kann als Gerüst für eine neue Anwendung verwendet werden.) |
− | |||
=== Verwendung === | === Verwendung === | ||
− | + | Zur Entwicklungszeit: | |
− | * | + | * Platzieren sie auf dem Hauptformular ein TMultiDoc. |
− | * | + | * Erstellen sie ihr Unterformular auf einem Panel. |
− | * | + | * Erstellen sie auf diesem Panel alle Objekte und fügen sie die gewünschten Ereignisse usw. hinzu |
− | * | + | * Beziehen sie sich nicht auf die TForm-Events, da das Formular selbst nie gezeigt wird. |
− | + | Zur Laufzeit: | |
* Create a new child from TMultiDoc.NewChild | * Create a new child from TMultiDoc.NewChild | ||
* Create a child form with the new childdoc as owner. | * Create a child form with the new childdoc as owner. | ||
* Assign the main panel to the Dockedpanel property. | * Assign the main panel to the Dockedpanel property. | ||
− | + | === Konvertieren einer Delphi MDI Anwendung === | |
− | === | ||
Converting a MDI application is simplified by the availability of the same component for Delphi and Kylix. | Converting a MDI application is simplified by the availability of the same component for Delphi and Kylix. | ||
− | Convert first your application to MultiDoc in Delphi,then convert to Lazarus. | + | Convert first your application to MultiDoc in Delphi, then convert to Lazarus. |
This require some work but among the advantage you avoid the ugly XP border around your child forms. | This require some work but among the advantage you avoid the ugly XP border around your child forms. | ||
− | + | Ersetzen sie die Standard MDI Funktionen wie folgt: | |
MDIChildCount -> MultiDoc1.ChildCount | MDIChildCount -> MultiDoc1.ChildCount | ||
ActiveMdiChild -> MultiDoc1.ActiveObject | ActiveMdiChild -> MultiDoc1.ActiveObject | ||
− | + | oder MultiDoc1.ActiveChild | |
MDIChildren[i] -> MultiDoc1.Childs[i].DockedObject | MDIChildren[i] -> MultiDoc1.Childs[i].DockedObject | ||
− | + | oder MultiDoc1.Childs[i] | |
Die Delphi Komponente ist im Package enthalten. Entpacken sie multidoc-delphi.zip und installieren MultiDocD6.dpk oder MultiDocK3.dpk. | Die Delphi Komponente ist im Package enthalten. Entpacken sie multidoc-delphi.zip und installieren MultiDocD6.dpk oder MultiDocK3.dpk. |
Latest revision as of 22:49, 6 April 2009
│
Deutsch (de) │
English (en) │
español (es) │
português (pt) │
Über
MultiDoc ist ein Lazarus Package zum Ersetzen des Standard MDI Interface.
Diese Komponente erlaubt das Schreiben von nachgebildeten MDI-Anwendungen. Es ist keine richtige Implementierung der MDI-Schnittstelle aber es ermöglicht die Nutzung vieler Unterformulare, welche in ihrer Größe geändert werden können. Es gibt 2 Komponenten:
- TMultiDoc : Der Aufnahmebereich für die Unterformulare auf dem Hauptformular
- TChildDoc : Kapselung des Unterfomulars mit größenveränderbarer Border und Button
Verwendet wurde die Komponente in einer Graphiksoftware. Allerdings ist sie auch für viele andere Anwendung hilfreich.
Screenshot
Autor
Lizenz
Modifizierte LGPL, siehe readme.txt
Download
Die Komponente und ein Demonstrationsprogramm sind zu finden im Lazarus-CCR Sourceforge Bereich.
Change Log
- Version 0.2 2007/01/06 bereinigte folgendes:
- BorderWidth-Eigenschaft arbeitete nicht
- Falsche Button-Reihenfolge
- Zentrierung des Cursors auf der Titelleiste, wenn das Panel bewegt wird.
- GTK2 und FPC 2.1.1 Kompatibilität
- Crash wenn ein Formular über Schließen-Button beendet wurde
- Lizenz zu modifizierter LGPL geändert
- Version 0.1 2006/01/20 Erstes Beta-Release.
Abhängigkeiten / Systemvoraussetzungen
Diese Komponente ist ausschließlich von Standardkomponenten abgeleitet (TPanel, TCustomSplitter, TSpeedButton) und sollte daher unter allen Plattformen ohne Anpassungen funktionieren.
Getestet wurde sie unter Linux und Windows.
Anmerkungen
You are not limited to show the docking area in the full main form. You can place the TMultiDoc anywhere you want or use multiple one! A combination with a TNotebook may give something similar to a multi-desktop.
Installation
- Kompilieren und installieren sie multidocpackage.lpk
- Öffnen sie das Beispiel demo/demomultidoc.lpi (Dieses Beispiel kann als Gerüst für eine neue Anwendung verwendet werden.)
Verwendung
Zur Entwicklungszeit:
- Platzieren sie auf dem Hauptformular ein TMultiDoc.
- Erstellen sie ihr Unterformular auf einem Panel.
- Erstellen sie auf diesem Panel alle Objekte und fügen sie die gewünschten Ereignisse usw. hinzu
- Beziehen sie sich nicht auf die TForm-Events, da das Formular selbst nie gezeigt wird.
Zur Laufzeit:
- Create a new child from TMultiDoc.NewChild
- Create a child form with the new childdoc as owner.
- Assign the main panel to the Dockedpanel property.
Konvertieren einer Delphi MDI Anwendung
Converting a MDI application is simplified by the availability of the same component for Delphi and Kylix.
Convert first your application to MultiDoc in Delphi, then convert to Lazarus. This require some work but among the advantage you avoid the ugly XP border around your child forms.
Ersetzen sie die Standard MDI Funktionen wie folgt:
MDIChildCount -> MultiDoc1.ChildCount ActiveMdiChild -> MultiDoc1.ActiveObject oder MultiDoc1.ActiveChild MDIChildren[i] -> MultiDoc1.Childs[i].DockedObject oder MultiDoc1.Childs[i]
Die Delphi Komponente ist im Package enthalten. Entpacken sie multidoc-delphi.zip und installieren MultiDocD6.dpk oder MultiDocK3.dpk.