Udostępnij za pośrednictwem


Dokowanie i przestawne paski narzędzi

Biblioteka klas Microsoft Foundation obsługuje dokujące paski narzędzi.Dokujące narzędzi mogą być dołączone lub zadokowany do dowolnej krawędzi okna nadrzędnego, lub może być odłączone, lub zadokowanej w osobnym oknie mini-frame.W tym artykule wyjaśniono, jak używać dokujące pasków narzędzi w aplikacji.

Jeśli używasz Kreatora aplikacji do generowania szkielet aplikacji monit wybierz dokujące paski narzędzi.Domyślnie Kreator aplikacja generuje kod, który wykonuje trzy akcje trzeba umieścić dokujące narzędzi w aplikacji:

  • Włącz dokowanie w oknie ramki.

  • Włącz dokowanie na pasku narzędzi.

  • Zadokować pasek narzędzi (w oknie ramki).

Jeśli brakuje dowolnego z tych kroków, aplikacja wyświetli standardowy pasek narzędzi.Ostatnie dwa kroki należy wykonać dla każdego dokujące narzędzi w aplikacji.

Inne tematy omówione w niniejszym artykule obejmują:

  • Przestawny pasek narzędzi

  • Dynamicznie zmiana rozmiaru paska narzędzi

  • Ustawienia oblewania stanowisk dla narzędzi-style

Zobacz przykładowy ogólne MFC DOCKTOOL przykłady.

Umożliwiające dokowanie w oknie ramki

Aby zadokować paski narzędzi w oknie ramki, należy włączyć okno ramek (lub przeznaczenia) umożliwiające dokowanie.Można to zrobić za pomocą CFrameWnd::EnableDocking funkcji, która przyjmuje jedną DWORD parametr, który jest zestaw stylów bity, wskazując, które strony okna ramki akceptuje dokowania.Jeśli ma być zadokowany pasek narzędzi, są wielu stronach, które mogłyby być zadokowany do boków w parametr przekazany do EnableDocking są stosowane w następującej kolejności: góra, dół, lewo, w prawo.Jeśli ma być możliwe do stacji dokującej sterowania paski gdziekolwiek, przekazać CBRS_ALIGN_ANY do EnableDocking.

Umożliwiające dokowanie na pasku narzędzi

Po przygotowaniu przeznaczenia dokowania, w podobny sposób należy przygotować narzędzi (lub źródła).Wywołanie CControlBar::EnableDocking dla każdego Aby zadokować pasek narzędzi, określający miejsce docelowe boków zadokować powinny paska narzędzi.Jeśli żadna ze Stron określone w wywołaniu CControlBar::EnableDocking odpowiadają boków włączone dokowania w oknie ramki, nie można zadokować pasek narzędzi — przesunie się.Po zostały zadokowanej, pozostaje ruchomego paska narzędzi, nie można zadokować okno ramek.

Jeśli efekt ma stałe ruchomego paska narzędzi, należy wywołać EnableDocking z parametrem 0.Następnie należy wywołać CFrameWnd::FloatControlBar.Pasek narzędzi pozostaje ruchomy, stałe nie można zadokować w dowolnym miejscu.

Dokowanie paska narzędzi

Rozmowy w ramach CFrameWnd::DockControlBar kiedy użytkownik próbuje drop paska narzędzi po stronie okna ramki, który umożliwia dokowania.

Ponadto można wywołać tę funkcję w dowolnym momencie, aby zadokować pasków w oknie ramki.Zazwyczaj można to zrobić podczas inicjowania.Więcej niż jeden pasek narzędzi może być zadokowany do określonej strony okna ramki.

Przestawny pasek narzędzi

Odłączanie dokujące paska narzędzi w oknie ramki jest nazywany przestawny pasek narzędzi.Wywołanie CFrameWnd::FloatControlBar w tym celu.Określ narzędzi, aby uwolnić się, punkt, w którym mają zostać umieszczone i wyrównanie, która określa, czy ruchomy pasek narzędzi jest poziomy lub pionowy.

Ramy wywołuje tę funkcję, gdy użytkownik przeciągnie pasek narzędzi poza jego zadokowanego lokalizacji i obniży się w miejscu, gdzie dokowania nie jest włączone.Może być dowolnym miejscu wewnątrz lub poza oknem ramki.Tak jak w DockControlBar, można również wywołać tę funkcję podczas inicjowania.

Wykonania MFC dokujące pasków narzędzi nie zapewnia rozszerzone funkcje w niektórych aplikacji, które obsługują dokujące paski narzędzi.Funkcje, takie jak dostosowywalnych pasków narzędzi nie są dostarczane.

Dynamicznie zmiana rozmiaru paska narzędzi

Jako Visual C++ w wersji 4.0, użytkownik może umożliwia dla użytkowników aplikacji, aby dynamicznie zmienić rozmiar ruchome paski narzędziowe.Zazwyczaj pasek narzędzi ma długie, liniowe kształtu wyświetlane poziomo.Można jednak zmienić orientację paska narzędzi i jego kształt.Na przykład gdy użytkownik stacje dokujące narzędzi względem jednej z pionowych ścian oknie ramki, kształt zmieni układ pionowy.Jest również możliwe zmienić kształt paska narzędzi do prostokąta z wielu wierszy przycisków.

Można:

  • Jako cecha paska narzędzi, należy określić dynamicznej zmiany rozmiaru.

  • Określenie stałej wielkości jako cecha paska narzędzi.

Aby wspierać, są dwie nowe style paska narzędzi do użycia w rozmowy CToolBar::Create funkcji składowej.Są one:

  • CBRS_SIZE_DYNAMIC pasek sterowania jest dynamiczny.

  • CBRS_SIZE_FIXED ustala się pasek sterowania.

Rozmiar styl dynamiczne pozwala użytkownika, zmienić rozmiar paska narzędzi, gdy jest on przestawne, ale nie jest zadokowany.Pasek narzędzi "zawija" w razie potrzeby zmienić kształt, jak użytkownik przeciągnie krawędzie.

Rozmiar, styl stałej zachowuje Państwa oblewanie paska narzędzi, ustalania położenia przycisków w każdej kolumnie.Aplikacji użytkownika nie można zmienić kształt paska narzędzi.Pasek narzędzi jest zawijany w wyznaczonych miejscach, takich jak lokalizacje separatory między przyciskami.Utrzymuje tego kształtu, czy pasek narzędzi jest zadokowany lub pływające.Efekt jest stałe palety z wieloma kolumnami przycisków.

Można również użyć CToolBar::GetButtonStyle do zwracania stanu i styl przycisków na paskach narzędzi.Styl przycisku określa sposób wyświetlania i sposobu odpowiedzi na dane wejściowe użytkownika; Stan informuje o tym, czy przycisk jest w stanie zawinięty.

Ustawianie zawijania stanowisk dla narzędzi-Style

Do paska narzędzi rozmiar ustalony stylu wyznaczyć narzędzi przycisk indeksy, w których pasek narzędzi będzie zawijany.Poniższy kod pokazuje, jak to zrobić w oknie głównym ramki OnCreate zastąpić:

// Get the style of the first button separator
UINT nStyle = m_wndToolBar.GetButtonStyle(3);
// Augment the state for wrapping
nStyle |= TBBS_WRAPPED;
m_wndToolBar.SetButtonStyle(3, nStyle);

// Do the same for other wrap locations ...

// Set the bar style to size fixed
m_wndToolBar.SetBarStyle(m_wndToolBar.GetBarStyle() |
   CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_FIXED);

// Call docking/floating functions as needed ...

Próbki ogólnej MFC DOCKTOOL pokazuje, jak użyć funkcji elementów członkowskich klas CControlBar i CToolBar do zarządzania dynamiczny układ paska narzędzi.Zobacz plik EDITBAR.CPP w DOCKTOOL.

a7022c58.collapse_all(pl-pl,VS.110).gifCo chcesz wiedzieć więcej?

Zobacz też

Koncepcje

MFC narzędzi wdrażania