Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule opisano podstawową implementację MFC, która umożliwia dodanie domyślnego paska narzędzi do aplikacji przez wybranie opcji w Kreatorze aplikacji. Omawiane tematy to m.in.:
Opcja paska narzędzi Kreatora aplikacji
Aby uzyskać pojedynczy pasek narzędzi z przyciskami domyślnymi, wybierz opcję paska narzędzi Standardowego dokowania na stronie oznaczonej jako Funkcje interfejsu użytkownika. Spowoduje to dodanie kodu do aplikacji, który:
Tworzy obiekt paska narzędzi.
Zarządza paskiem narzędzi, w tym jego możliwością dokowania lub unoszenia się.
Pasek narzędzi w kodzie
Pasek narzędzi jest obiektem CToolBar zadeklarowanym jako element członkowski danych klasy aplikacji CMainFrame
. Innymi słowy, obiekt paska narzędzi jest osadzony w głównym obiekcie okna ramki. Oznacza to, że MFC tworzy pasek narzędzi podczas tworzenia okna ramki i niszczy pasek narzędzi, gdy niszczy okno ramki. Następująca deklaracja klasy częściowej dla aplikacji interfejsu wielu dokumentów (MDI) przedstawia składowe danych dla osadzonego paska narzędzi i osadzonego paska stanu. Pokazuje również przesłonięcie funkcji składowej OnCreate
.
class CMainFrame : public CMDIFrameWnd
{
// Implementation
protected: // control bar embedded members
CStatusBar m_wndStatusBar;
CToolBar m_wndToolBar;
// Generated message map functions
protected:
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
DECLARE_MESSAGE_MAP()
Tworzenie paska narzędzi odbywa się w programie CMainFrame::OnCreate
. MFC wywołuje metodę OnCreate po utworzeniu okna dla ramki, ale zanim stanie się widoczny. Ustawienie domyślne OnCreate
generowane przez Kreatora aplikacji wykonuje następujące zadania paska narzędzi:
Wywołuje funkcję elementu członkowskiego
CToolBar
Create obiektu w celu utworzenia bazowego obiektu CToolBarCtrl.Wywołuje element LoadToolBar , aby załadować informacje o zasobie paska narzędzi.
Wywołuje funkcje umożliwiające dokowanie, unoszenie i podpowiedzi narzędziowe. Aby uzyskać szczegółowe informacje na temat tych funkcji, zobacz artykuł Docking and Floating Toolbars (Dokowanie i przestawne paski narzędzi).
Uwaga / Notatka
Przykładowy projekt MFC DOCKTOOL zawiera ilustracje zarówno starszych, jak i nowszych pasków narzędzi MFC. Paski narzędzi, które używają COldToolbar
, wymagają wywołań w kroku 2 do LoadBitmap
(zamiast LoadToolBar
) i do SetButtons
. Nowe paski narzędzi wymagają wywołań funkcji LoadToolBar
.
Wywołania wskazówek dotyczących zadokowania, pływającego i narzędzia są opcjonalne. Jeśli wolisz, możesz usunąć te wiersze OnCreate
. Wynik to pasek narzędzi, który pozostaje nieruchomy, nie może unosić się ani ponownie oddokować i nie może wyświetlać wskazówek narzędziowych.
Edytowanie zasobu paska narzędzi
Domyślny pasek narzędzi, który otrzymujesz za pomocą Kreatora aplikacji, jest oparty na zasobie niestandardowym RT_TOOLBAR wprowadzonym w MFC w wersji 4.0. Ten zasób można edytować za pomocą edytora paska narzędzi. Edytor umożliwia łatwe dodawanie, usuwanie i rozmieszczanie przycisków. Zawiera edytor graficzny przycisków, który jest bardzo podobny do ogólnego edytora grafiki w programie Visual C++. Jeśli edytowano paski narzędzi w poprzednich wersjach programu Visual C++, zadanie będzie teraz znacznie łatwiejsze.
Aby połączyć przycisk paska narzędzi z poleceniem, należy nadać przyciskowi identyfikator polecenia, taki jak ID_MYCOMMAND
. Określ identyfikator polecenia na stronie właściwości przycisku w edytorze paska narzędzi. Następnie utwórz funkcję obsługi dla polecenia (zobacz Mapowanie komunikatów na funkcje w celu uzyskania więcej informacji).
Nowe funkcje składowe CToolBar współpracują z zasobem RT_TOOLBAR . LoadToolBar teraz zastępuje LoadBitmap do ładowania mapy bitowej obrazów przycisków paska narzędzi oraz SetButtons do ustawiania stylów przycisków i łączenia przycisków z obrazami map bitowych.
Aby uzyskać szczegółowe informacje na temat korzystania z edytora pasków narzędzi, zobacz Edytor pasków narzędzi.
Wiele pasków narzędzi
Kreator aplikacji udostępnia jeden domyślny pasek narzędzi. Jeśli potrzebujesz więcej niż jednego paska narzędzi w aplikacji, możesz modelować kod dla dodatkowych pasków narzędzi na podstawie wygenerowanego przez kreatora kodu domyślnego paska narzędzi.
Jeśli chcesz wyświetlić pasek narzędzi w wyniku polecenia, musisz:
Utwórz nowy zasób paska narzędzi, korzystając z edytora pasków narzędzi, i załaduj go w
OnCreate
za pomocą funkcji składowej LoadToolbar.Osadź nowy obiekt CToolBar w głównej klasie okien ramowych.
Wykonaj w
OnCreate
odpowiednie wywołania funkcji, aby zadokować lub odłączyć pasek narzędzi, ustawić jego style itd.
Co chcesz dowiedzieć się więcej o
Implementacja paska narzędzi MFC (informacje ogólne o paskach narzędzi)
Klasy CToolBar i CToolBarCtrl