Paski narzędzi — podstawowe założenia
W tym artykule opisano podstawowe implementacji MFC, który pozwala dodać domyślny pasek narzędziowy do aplikacji, wybierając odpowiednią opcję w Kreatorze aplikacji.Omówione tematy obejmują:
Kreator aplikacji opcji paska narzędzi
Pasek narzędzi w kodzie
Edycja zasobów narzędzi
Wiele pasków narzędzi
Opcji paska narzędzi aplikacji Kreatora
Aby uzyskać jeden pasek narzędzi z domyślnych przycisków, wybierz opcję pasek narzędzi Standardowy dokowanie na stronie etykietą funkcji interfejsu użytkownika.To powoduje dodanie kodu do aplikacji które:
Tworzy obiekt paska narzędzi.
Zarządza narzędzi, w tym jej zdolność do stacji dokującej lub swobodne przemieszczanie.
Pasek narzędzi w kodzie
Pasek narzędzi jest CToolBar obiektu zadeklarowany jako element członkowski danych z aplikacji CMainFrame klasy.Innymi słowy obiekt paska narzędzi jest osadzony w ramce głównej obiektu window.Oznacza to, MFC tworzy pasku narzędzi, gdy tworzy okno ramki i niszczy pasku narzędzi, gdy niszczy okno ramek.Następującą deklarację klasy dla wielu aplikacji interfejsu (MDI) dokumentu zawiera dane elementów osadzonych pasek narzędzi i pasek stanu osadzone.Pokazuje także zastępowania z OnCreate funkcji składowej.
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 występuje w CMainFrame::OnCreate.Wywołania MFC OnCreate po tworzenia okna ramki, ale zanim stanie się widoczny.Domyślnie OnCreate że Kreator aplikacja generuje wykonuje następujące zadania paska narzędzi:
Wywołania CToolBar obiektu Create funkcji składowej do tworzenia bazowego CToolBarCtrl obiektu.
Wywołania LoadToolBar załadować informacje o zasobach paska narzędzi.
Wywołuje funkcje umożliwiające dokowanie, płynny i etykietki narzędzi.Aby uzyskać informacje na temat tych połączeń, zobacz artykuł dokowanie i przestawne paski narzędzi.
[!UWAGA]
Próbki ogólnej MFC DOCKTOOL zawiera ilustracje starych i nowych pasków narzędzi MFC.Paski narzędzi, które używają COldToolbar wymagają wywołań w kroku 2, aby LoadBitmap (a nie LoadToolBar) i SetButtons.Nowe paski narzędzi wymagają wywołań do LoadToolBar.
Dokowanie, pływające i narzędzie porady dotyczące połączeń są opcjonalne.Można usunąć te wiersze z OnCreate Jeśli wolisz.Wynik jest pasek narzędzi, który pozostaje stały, nie można float lub redock i nie może wyświetlić etykietki narzędzi.
Edycja zasobów narzędzi
Domyślny pasek narzędziowy można uzyskać z Kreatora konfiguracji aplikacji jest oparty na RT_TOOLBAR niestandardowe zasobu, wprowadzone w wersji 4.0 MFC.Możesz edytować ten zasób z pasek narzędzi edytora.Edytor pozwala łatwo dodawać, usuwać i rozmieszczanie przycisków.Zawiera on edytor graficzny dla przycisków, który jest bardzo podobny do edytora grafiki w programie Visual C++.W przypadku modyfikacji paski narzędzi w poprzednich wersjach programu Visual C++ znajdziesz zadanie znacznie łatwiejsze teraz.
Aby połączyć przycisk paska narzędzi do polecenia, dajesz przycisk Identyfikator polecenia, takie jak ID_MYCOMMAND.Na stronie właściwości przycisku paska narzędzi edytora, należy określić identyfikator polecenia.Następnie utwórz funkcji obsługi polecenia (zobacz Mapowania wiadomości do funkcji uzyskać więcej informacji).
Nowy CToolBar funkcje składowe pracy z RT_TOOLBAR zasobów.LoadToolBar teraz zajmuje miejsce LoadBitmap załadować mapy bitowej obrazy dla przycisków paska narzędzi, i SetButtons zestaw stylów przycisków i podłączyć przyciski z obrazami bitmapowymi.
Aby uzyskać szczegółowe informacje dotyczące korzystania z narzędzi edytora, zobacz Pasek narzędzi edytora.
Wiele pasków narzędzi
Kreator aplikacji zapewnia jeden domyślny pasek narzędzi.Jeśli potrzebujesz więcej niż jeden pasek narzędzi w aplikacji, można modelować kodu dla dodatkowe paski narzędzi w oparciu o kod wygenerowany przez kreatora domyślnego paska narzędzi.
Jeśli chcesz wyświetlać pasek narzędzi w wyniku polecenia, musisz:
Utworzyć nowy zasób narzędzi z paska narzędzi edytora i załadować go w OnCreate z LoadToolbar funkcji składowej.
Osadzić nowy CToolBar obiektu w ramce głównej klasy okna.
Marka wywołuje odpowiednią funkcję w OnCreate do stacji dokującej lub unosić się paska narzędzi, należy ustawić jego style i tak dalej.