Tutorial: DockPanel Suite verwenden

Januar 27, 2009

Das letzte mal hab ich die DockPanelSuite im Artikel DockPanelSuite – professionelle Fenster, vorgestellt.

Beispielbild

Heute gibt es wie versprochen ein Tutorial in C++.

Ich verwende Visual Studio 2005. In anderen IDEs sollte es allerdings so ähnlich funktionieren, wenn diese NET Programmierung zulassen.

1. Als erstes benötigt Ihr die Programmbibliothek DockPanelSuite von Weifen Luo. Die gibts bei SoureForge:

http://sourceforge.net/project/showfiles.php?group_id=110642 .

Ihr benötigt die Datei DockPanel_Versionsnummer_Bin.zip, denn darin ist die schon erstellte Datei „WeifenLuo.WinFormsUI.Docking.dll„.

2. Visual Studio starten und ein neues Projekt anlegen, dazu wählt Ihr Windows Forms Application und gebt als Projektnamen DockPanelTest ein.

3. Wählt die leere Form aus und gebt Ihr im Properties-Fenster einen Namen. Setzt unter WindowStyle die Eigenschaft „IsMdiContainer“ auf „true“.

4. Die Datei „WeifenLuo.WinFormsUI.Docking.dll“ sollte relativ zum Programmpfad eingebunden werden. Also ist es ratsam die Datei in den Projektordner zu kopieren.

5. Vom SolutionExplorer zur Klassenansicht wechseln. Dann kann man über den Menüpunkt Projekt, oder mit einem Rechtsklick in die Klassenansicht, die Abhängigkeiten (References) auswählen. Klickt auf „Add New Reference“ (Neue Abhängigkeit hinzufügen).

Die Registerkarte „Browse“ wählen, zum Ordner mit der DLL wechseln und die DLL auswählen. Mit Ok bestätigen, und schon erscheint die DLL in der „Referenzen“-Liste. Das Fenster könnt Ihr ebenfalls mit ok schließen.

6. Öffnet die Toolbox, klickt einmal mit der rechten Maustaste und wählt den Menüpunkt „Choose Items“ – Elemente auswählen. Sucht in der Liste nach DockPanel, dahinter sollte im Namespace WeifenLuo… stehen, macht ein Häckchen rein und schließt den Dialog wieder mit OK.

7. Jetzt könnt Ihr das neue Element DockPanel ganz einfach in euer Fenster rüber ziehen. Über den kleinen Pfeil dann ganz einfach ins Elternfenster „eindocken“ – „Dock in Parent“.

8. Das Hauptfenster ist darauf vorbereitet eure Fenster anzuzeigen. Es wird aber noch ein Form benötigt, das darin angezeigt werden kann.Klickt mit der rechten Maustaste einmal in den Solution-Explorer und wählt „Add->New Item“ aus. Erstellt ein neues Windows Form mit dem Namen „MyChild“.

9. Lasst euch den Quelltext dieses neuen Fensters anzeigen. Klickt dazu am besten im Design-Fenster einmal mit rechts auf das Form und wählt den Menüpunkt „View Code“.

10. Die Stelle an welcher euer Kindfenster seine Eigenschaften von einem normalen Form erbt:

public ref class MyChild : public System::Windows::Forms::Form

muss verändert werden zu:

public ref class MyChild : public WeifenLuo::WinFormsUI::Docking::DockContent

Dadurch gebt Ihr dem Form alle Eigenschaften eines andockbaren Dokuments. Die Eigenschaften eines „normalen“ Forms gehen nicht verloren und Ihr könnt die Form wie immer im Design-Modus bearbeiten, weil DockContent von einem normalen Form abgeleitet ist.

11. Wechselt noch einmal zu eurem Hauptfenster und fügt einen neuen Menüstreifen aus der Toolbox ein (MenuStrip).

12. Erstellt einen Hauptmenüpunkt „Datei“ und unter diesem einen weiteren Menüpunkt „Neu“.

13. Mit einem Doppelklick auf den eben erstellten Menüpunkt „Neu“ erstellt Ihr einen Eventhandler und landet auch gleich an der richtigen Stelle im Code.

14. Hier könnt Ihr eure Kindfenster mit folgendem Code erstellen:

DPTest::MyChild ^newChild = gcnew DPTest::MyChild;
newChild->ShowHint = WeifenLuo::WinFormsUI::Docking::DockState::Document;
newChild->Show(dockPanel1);

Die erste Zeile erzeugt ein neues MyChild-Objekt. In der zweiten wird festgelegt das es in der Dokumentansicht dargestellt werden soll, d.h. mittig ins Hauptfenster eingedockt. Mit der Dritten Anweisung wird das Fenster im dockPanel1 angezeigt.

15. Als letztes solltet Ihr darauf achten das die Datei „MyChild.h“ in der Datei „Form1.h“ auch eingebunden wird. Dazu einfach nach ganz oben scrollen und unter

#pragma once

die Zeile

#include "MyChild.h"

einfügen.

16. Jetzt könnt Ihr das Projekt kompilieren und ausführen.

Mit dem Menüpunkt „Datei->Neu“ könnt Ihr jetzt Fenster erstellen die automatisch in das Programm eingedockt werden. Probiert ruhig ein wenig damit rum. Die Fenster lassen sich frei verschieben und überall eindocken, ineinander verschachteln und so weiter.

So viel als einleitender Artikel. Demnächst werd ich euch noch ein paar Dinge zeigen die Ihr mit DockPanelSuite so machen könnt. Bis dahin.

DockPanelSuite – professionelle Fenster

Januar 25, 2009

Auf der Suche nach Tabs für meine Windows Forms MDI-Anwendung, so wie sie zum Beispiel in jedem modernen Browser vorkommen, bin ich irgendwann auf die DockPanel Suite von Weifen Luo gestossen.

DockPanelSuite ist eine Bibliothek für Net 2.0 und ist kostenlos über SourceForge.net als Download erhältlich. Sie erweitert Windows Forms um eine große Funktionalität. Man kann seinen Programmen damit ein professionelles Aussehen im Stil von Visual Studio geben. Fenster lassen sich nahezu überall andocken und ineinander verschachteln. Man kann allerdings auch auf einfachste Weise genau bestimmen welches Fenster wo angedockt werden kann. Aktuelle Ansichten können als Layouts gespeichert und auch genauso wieder geladen werden.

Da es sich um eine Net-Komponente handelt kann sie mit vielen Net-Programmiersprachen verwendet werden, wie zum Beispiel C#, Visual Basic Net, und C++ Net.

Lizenz

Weil das ganze unter der MIT-Lizenz erscheint ist es für alle Projekte kostenlos. Auch wenn man sein Programm weiterverkauft. Man muss nur den original Lizenztext zum Programm hinzufügen. Weifen Luo freut sich aber auf jeden Fall wenn man seine Arbeit auch honoriert.

Tutorials

Einige Tutorials für Visual Basic sind leicht zu finden. Zum Beispiel ist auf der Downloadseite von SourceForge unter „Other Contributions“ eine recht umfangreiche Anleitung vorhanden.

Für C# gibt es sogar eine Beispielandwendung direkt von Weifen Luo ebenfalls bei SourceForge auf der Downloadseite. DockPanelSuite selbst ist auch in C-Sharp geschrieben worden.

Weil ich für C++ kein Tutorial finden konnte werde ich hier selbst das eine oder andere Tutorial veröffentlichen, in dem ich jeweils einige Aspekte näher erläutere.

Alles in allem bin ich bis jetzt sehr zufrieden damit und kann diese professionelle Bibliothek nur weiterempfehlen.

Links

Deutschsprachig:

Englisch:

Und ab gehts..

Januar 21, 2009

Warum ein Programmierer-Blog?

Jetzt gehts los. Ich hab hart gearbeitet in den letzten Wochen. Tausende von Webseiten nach Informationen durchsucht, gesammelt, gelernt, programmiert..

Wird Zeit das ganze mal zusammenzufassen. Das hilft mir das Gelernte nochmal zu überschauen und nimmt euch hoffentlich einiges an Arbeit ab. Ich werde hier Tutorials und kurze Berichte  zu Themen geben, mit denen ich mich selbst beschäftige. Bei vielen Dingen fand ich es fast unmöglich Informationen zu erhalten. Vieles musste ich mir auch einfach komplett selbst erarbeiten.

Und weil ich gerade anfange mich mit dem Thema Bloggen zu beschäftigen ist das hier mein:

Hallo Blogwelt ;)