DockPanel Suite integracja ze środowiskiem VC++ 2008 Express Edition

DockPanel Suite to darmowa biblioteka umożliwiająca stworzenie GUI zbliżonego wyglądem do Visual Studio. Umożliwia dowolne rozmieszczanie i ukrywanie dokumentów, paneli, toolbox’ów itp. w czasie działania aplikacji dzięki czemu użytkownik może rozmieścić narzędzia wedle własnego uznania.
Poniżej postaram się wyjaśnić w jaki sposób rozpocząć pracę z DockPanel Suite.
Otwieramy VC++ 2008 Express i tworzymy nowy projekt File -> New -> Project… W oknie New Projekt wybieramy typ projektu CLR oraz szablon Windows Forms Application, wpisujemy nazwę projektu (w naszym przypadku DockPanelDemo) po czym naciskamy przycisk OK.
Ściągamy najnowszą wersję biblioteki ze strony: http://sourceforge.net/projects/dockpanelsuite/
Po rozpakowaniu pobranego archiwum kopiujemy plik 'WeifenLuo.WinFormsUI.Docking.dll' do katalogu naszego projektu.
Wchodzimy we właściwości projektu Project->DockPanelDemo Properties… Wybieramy Cammon Properties->Framework and References i naciskamy przycisk Add New Reference… Przechodzimy do zakładki Browse, gdzie zaznaczamy plik 'WeifenLuo.WinFormsUI.Docking.dll' znajdujący się w katalogu naszego projektu i zatwierdzamy przyciskiem OK.
Rozwijamy Toolbox znajdujący się po prawej stronie głównego okna Visual C++ Express. Klikamy prawym przyciskiem myszy na jego pustym obszarze. Wybieramy polecenie Choose Items... Naciskamy przycisk Browse i po raz kolejny wskazujemy plik ‘WeifenLuo.WinFormsUI.Docking.dll’. Zatwierdzamy przyciskiem OK
Przechodzimy do właściwości okna Form1 i zmieniamy właściwość isMdiContainer na wartość true oraz powiększamy okno (powiedzmy width = 600, height = 400)
Z rozwijanego wcześniej Toolbox’a wybieramy kontrolkę DockPanel znajdującą się w grupie Containers i przeciągamy ja do naszego okna Form1.
Zmieńmy nazwę panelu na ‘panelDokujacy’ oraz właściwość Dock na wartośc Fill
Teraz utworzymy nowe okno, które następnie dodamy do naszego panelu. Z górnego paska narzędzi wybieramy Add New Item Wybieramy kategorię UI oraz szablon Windows Form, wpisujemy nazwę okna „NoweOkno” i naciskamy przycisk Add
Klikamy PPM na nowopowstałym oknie i wybieramy polecenie View Code.
Na początek dodajemy następujące przestrzeni nazw:
   using namespace WeifenLuo::WinFormsUI;
   using namespace WeifenLuo::WinFormsUI::Docking;

następnie zmieniamy definicje klasy NoweOkno tak aby dziedziczyła z DockContent
Zmień:
   public ref class NoweOkno : public System::Windows::Forms::Form
na:
   public ref class NoweOkno : public DockContent
Przechodzimy do kodu źródłowego okna Form1 (w Solution Explorer znajdujemy Form1.h, klikamy PPM i wybieramy polecenie View Code). Dołączamy plik nagłówkowy NoweOkno.h zaraz po instrukcji #pragma once Dopisujemy #include "NoweOkno.h" W konstruktorze klasy Form1 tworzymy i dodajemy okna do panelu dokującego:

   Form1(void)
   {
       InitializeComponent();
       //
       //TODO: Add the constructor code here
       //
       //tworzymy uchwyty do okien
       NoweOkno^ okno1 = gcnew NoweOkno();
       NoweOkno^ okno2 = gcnew NoweOkno();
       NoweOkno^ okno3 = gcnew NoweOkno();

       //poczatkowe rozmieszczenie okien
       okno1->ShowHint = DockState::DockLeft;
       okno2->ShowHint = DockState::DockBottom;
       okno3->ShowHint = DockState::Document;

       //wyświetlamy okna
       okno1->Show(panelDokujacy);
       okno2->Show(panelDokujacy);
       okno3->Show(panelDokujacy);
       //

   }

Po uruchomieniu projektu otrzymamy okno przedstawione poniżej. Mamy możliwość dowolnego rozmieszczania narzędzi na powierzchni okna.

Valid XHTML 1.1 Poprawny CSS!