Udostępnij za pośrednictwem


Klasa CMFCToolBarsCustomizeDialog

Okno dialogowe karty bez moderowania ( klasa CPropertySheet), które umożliwia użytkownikowi dostosowywanie pasków narzędzi, menu, skrótów klawiaturowych, narzędzi zdefiniowanych przez użytkownika i stylu wizualnego w aplikacji. Zazwyczaj użytkownik uzyskuje dostęp do tego okna dialogowego, wybierając pozycję Dostosuj z menu Narzędzia .

Okno dialogowe Dostosowywanie zawiera sześć kart: Polecenia, Paski narzędzi, Narzędzia, Klawiatura, Menu i Opcje.

Składnia

class CMFCToolBarsCustomizeDialog : public CPropertySheet

Elementy członkowskie

Konstruktory publiczne

Nazwa/nazwisko opis
CMFCToolBarsCustomizeDialog::CMFCToolBarsCustomizeDialog CMFCToolBarsCustomizeDialog Tworzy obiekt.
CMFCToolBarsCustomizeDialog::~CMFCToolBarsCustomizeDialog Destruktor.

Metody publiczne

Nazwa/nazwisko opis
CMFCToolBarsCustomizeDialog::AddButton Wstawia przycisk paska narzędzi do listy poleceń na stronie Polecenia
CMFCToolBarsCustomizeDialog::AddMenu Ładuje menu z zasobów i wywołuje polecenie CMFCToolBarsCustomizeDialog::AddMenuCommands , aby dodać to menu do listy poleceń na stronie Polecenia .
CMFCToolBarsCustomizeDialog::AddMenuCommands Ładuje menu z zasobów i wywołuje polecenie CMFCToolBarsCustomizeDialog::AddMenuCommands , aby dodać to menu do listy poleceń na stronie Polecenia .
CMFCToolBarsCustomizeDialog::AddToolBar Ładuje pasek narzędzi z zasobów. Następnie dla każdego polecenia w menu wywołuje metodę CMFCToolBarsCustomizeDialog::AddButton , aby wstawić przycisk na liście poleceń na stronie Polecenia w określonej kategorii.
CMFCToolBarsCustomizeDialog::Create Wyświetla okno dialogowe Dostosowywanie.
CMFCToolBarsCustomizeDialog::EnableTools Zarezerwowane do użytku w przyszłości.
CMFCToolBarsCustomizeDialog::EnableUserDefinedToolbars Włącza lub wyłącza tworzenie nowych pasków narzędzi przy użyciu okna dialogowego Dostosowywanie .
CMFCToolBarsCustomizeDialog::FillAllCommandsList Wypełnia podany CListBox obiekt poleceniami w kategorii Wszystkie polecenia .
CMFCToolBarsCustomizeDialog::FillCategoriesComboBox Wypełnia podany CComboBox obiekt nazwą każdej kategorii poleceń w oknie dialogowym Dostosowywanie .
CMFCToolBarsCustomizeDialog::FillCategoriesListBox Wypełnia podany CListBox obiekt nazwą każdej kategorii poleceń w oknie dialogowym Dostosowywanie .
CMFCToolBarsCustomizeDialog::GetCommandName Pobiera nazwę skojarzona z danym identyfikatorem polecenia.
CMFCToolBarsCustomizeDialog::GetCountInCategory Pobiera liczbę elementów na podanej liście, które mają daną etykietę tekstową.
CMFCToolBarsCustomizeDialog::GetFlags Pobiera zestaw flag, które wpływają na zachowanie okna dialogowego.
CMFCToolBarsCustomizeDialog::GetThisClass Używany przez platformę do uzyskiwania wskaźnika do obiektu CRuntimeClass skojarzonego z tym typem klasy.
CMFCToolBarsCustomizeDialog::OnEditToolbarMenuImage Uruchamia edytor obrazów, aby użytkownik mógł dostosować przycisk paska narzędzi lub ikonę elementu menu.
CMFCToolBarsCustomizeDialog::OnInitDialog Zastępuje inicjowanie arkusza właściwości. (Przesłonięcia) CPropertySheet::OnInitDialog.
CMFCToolBarsCustomizeDialog::P ostNcDestroy Wywoływana przez platformę po tym, jak okno zostało zniszczone. (Przesłania CPropertySheet::PostNcDestroy).
CMFCToolBarsCustomizeDialog::RemoveButton Usuwa przycisk z określonym identyfikatorem polecenia z określonej kategorii lub ze wszystkich kategorii.
CMFCToolBarsCustomizeDialog::RenameCategory Zmienia nazwę kategorii w polu listy kategorii na karcie Polecenia.
CMFCToolBarsCustomizeDialog::ReplaceButton Zastępuje przycisk na liście poleceń na karcie Polecenia nowym obiektem przycisku paska narzędzi.
CMFCToolBarsCustomizeDialog::SetUserCategory Dodaje kategorię do listy kategorii, które będą wyświetlane na karcie Polecenia.

Metody chronione

Nazwa/nazwisko opis
CMFCToolBarsCustomizeDialog::CheckToolsValidity Wywoływana przez platformę w celu określenia, czy lista narzędzi zdefiniowanych przez użytkownika jest prawidłowa.
CMFCToolBarsCustomizeDialog::OnAfterChangeTool Wywoływana przez platformę po zmianie właściwości narzędzia zdefiniowanego przez użytkownika.
CMFCToolBarsCustomizeDialog::OnAssignKey Określa, czy można przypisać określony skrót klawiaturowy do akcji.
CMFCToolBarsCustomizeDialog::OnBeforeChangeTool Określa, czy można zmienić narzędzie zdefiniowane przez użytkownika.
CMFCToolBarsCustomizeDialog::OnInitToolsPage Wywoływana przez platformę, gdy użytkownik wybierze kartę Narzędzia , jest żądana.

Uwagi

Aby wyświetlić okno dialogowe Dostosowywanie, utwórz obiekt i wywołaj metodę CMFCToolBarsCustomizeDialog CMFCToolBarsCustomizeDialog::Create.

Gdy okno dialogowe Dostosowywanie jest aktywne, aplikacja działa w trybie specjalnym, który ogranicza użytkownika do zadań dostosowywania.

Przykład

W poniższym przykładzie pokazano, jak używać różnych metod w CMFCToolBarsCustomizeDialog klasie . W przykładzie pokazano, jak zastąpić przycisk paska narzędzi w polu listy poleceń na stronie Polecenia, włączyć tworzenie nowych pasków narzędzi przy użyciu okna dialogowego Dostosowywanie i wyświetlić okno dialogowe Dostosowywanie. Ten fragment kodu jest częścią przykładu pokazu programu IE.

pDlgCust->ReplaceButton(ID_FAVORITS_DUMMY,
                        CMFCToolBarMenuButton((UINT)-1, menuFavorites, -1, strFavorites));
pDlgCust->EnableUserDefinedToolbars();
pDlgCust->Create();

Hierarchia dziedziczenia

Obiekt CObject

CCmdTarget

CWnd

CPropertySheet

CMFCToolBarsCustomizeDialog

Wymagania

Nagłówek: afxToolBarsCustomizeDialog.h

CMFCToolBarsCustomizeDialog::AddButton

Wstawia przycisk paska narzędzi do listy poleceń na stronie Polecenia .

void AddButton(
    UINT uiCategoryId,
    const CMFCToolBarButton& button,
    int iInsertBefore=-1);

void AddButton(
    LPCTSTR lpszCategory,
    const CMFCToolBarButton& button,
    int iInsertBefore=-1);

Parametry

uiCategoryId
[in] Określa identyfikator kategorii, do którego ma być wstawiony przycisk.

guzik
[in] Określa przycisk do wstawienia.

iInsertBefore
[in] Określa indeks zerowy przycisku paska narzędzi, przed którym jest wstawiony przycisk.

lpszCategory
[in] Określa ciąg kategorii, aby wstawić przycisk.

Uwagi

Metoda AddButton ignoruje przyciski, które mają standardowe identyfikatory poleceń (takie jak ID_FILE_MRU_FILE1), polecenia, które nie są dozwolone (zobacz CMFCToolBar::IsCommandPermitted) i fikcyjne przyciski.

Ta metoda tworzy nowy obiekt tego samego typu co button (zwykle klasa CMFCToolBarButton) przy użyciu klasy środowiska uruchomieniowego przycisku. Następnie wywołuje polecenie CMFCToolBarButton::CopyFrom , aby skopiować elementy członkowskie danych przycisku i wstawia kopię do określonej kategorii.

Po wstawieniu nowego przycisku zostanie wyświetlone OnAddToCustomizePage powiadomienie.

Jeśli iInsertBefore ma wartość -1, przycisk jest dołączany do listy kategorii; w przeciwnym razie jest wstawiany przed elementem z określonym indeksem.

Przykład

W poniższym przykładzie pokazano, jak używać AddButton metody CMFCToolBarsCustomizeDialog klasy . Ten fragment kodu jest częścią przykładu Slider.

CMFCToolBarsCustomizeDialog *pDlgCust = new CMFCToolBarsCustomizeDialog(this,
                                                                        TRUE /* Automatic menus scaning */);

CSliderButton btnSlider(ID_SLIDER);
btnSlider.SetRange(0, 100);

pDlgCust->AddButton(_T("Edit"), btnSlider);

CMFCToolBarsCustomizeDialog::AddMenu

Ładuje menu z zasobów i wywołuje polecenie CMFCToolBarsCustomizeDialog::AddMenuCommands , aby dodać to menu do listy poleceń na stronie Polecenia .

BOOL AddMenu(UINT uiMenuResId);

Parametry

uiMenuResId
[in] Określa identyfikator zasobu menu do załadowania.

Wartość zwracana

WARTOŚĆ TRUE, jeśli menu zostało pomyślnie dodane; w przeciwnym razie FAŁSZ.

Uwagi

W wywołaniu metody AddMenuCommandsbPopup ma wartość FALSE. W rezultacie ta metoda nie dodaje elementów menu zawierających podmenu do listy poleceń. Ta metoda dodaje elementy menu w podmenu do listy poleceń.

CMFCToolBarsCustomizeDialog::AddMenuCommands

Dodaje elementy do listy poleceń na stronie Polecenia , aby reprezentować wszystkie elementy w określonym menu.

void AddMenuCommands(
    const CMenu* pMenu,
    BOOL bPopup,
    LPCTSTR lpszCategory=NULL,
    LPCTSTR lpszMenuPath=NULL);

Parametry

pMenu
[in] Wskaźnik do obiektu CMenu do dodania.

bPopup
[in] Określa, czy należy wstawić elementy menu podręcznego do listy poleceń.

lpszCategory
[in] Nazwa kategorii do wstawienia menu.

lpszMenuPath
[in] Prefiks, który jest dodawany do nazwy, gdy polecenie jest wyświetlane na liście Wszystkie kategorie .

Uwagi

Metoda AddMenuCommands wykonuje pętle we wszystkich elementach menu narzędzia pMenu. Dla każdego elementu menu, który nie zawiera podmenu, ta metoda tworzy obiekt klasy CMFCToolBarButton i wywołuje metodę CMFCToolBarsCustomizeDialog::AddButton, aby dodać element menu jako przycisk paska narzędzi do listy poleceń na stronie Polecenia. Separatory są ignorowane w tym procesie.

Jeśli parametr bPopup ma wartość TRUE, dla każdego elementu menu zawierającego podmenu ta metoda tworzy obiekt klasy CMFCToolBarMenuButton i wstawia go do listy poleceń przez wywołanie metody AddButton. W przeciwnym razie elementy menu zawierające podmenu nie są wyświetlane na liście poleceń. W obu przypadkach, gdy AddMenuCommands napotka element menu z podmenu, wywołuje się rekursywnie, przekazując wskaźnik do podmenu jako parametr pMenu i dołączając etykietę podmenu do lpszMenuPath.

CMFCToolBarsCustomizeDialog::AddToolBar

Ładuje pasek narzędzi z zasobów. Następnie dla każdego polecenia w menu wywołuje metodę CMFCToolBarsCustomizeDialog::AddButton , aby wstawić przycisk na liście poleceń na stronie Polecenia w określonej kategorii.

BOOL AddToolBar(
    UINT uiCategoryId,
    UINT uiToolbarResId);

BOOL AddToolBar(
    LPCTSTR lpszCategory,
    UINT uiToolbarResId);

Parametry

uiCategoryId
[in] Określa identyfikator zasobu kategorii, do których ma zostać dodany pasek narzędzi.

uiToolbarResId
[in] Określa identyfikator zasobu paska narzędzi, którego polecenia są wstawione do listy poleceń.

lpszCategory
[in] Określa nazwę kategorii, do której ma zostać dodany pasek narzędzi.

Wartość zwracana

Wartość TRUE, jeśli metoda zakończyła się pomyślnie; w przeciwnym razie FAŁSZ.

Przykład

W poniższym przykładzie pokazano, jak używać AddToolBar metody w CMFCToolBarsCustomizeDialog klasie . Ten fragment kodu jest częścią przykładu okienka word.

CMFCToolBarsCustomizeDialog *pDlgCust = new CMFCToolBarsCustomizeDialog(this,
                                                                        TRUE /* Automatic menus scaning */,
                                                                        AFX_CUSTOMIZE_MENU_SHADOWS | AFX_CUSTOMIZE_TEXT_LABELS |
                                                                            AFX_CUSTOMIZE_MENU_ANIMATIONS);

pDlgCust->AddToolBar(_T("Format"), IDR_FORMATBAR);

Uwagi

Kontrolka używana do reprezentowania każdego polecenia jest obiektem klasy CMFCToolBarButton. Po dodaniu paska narzędzi można zastąpić przycisk kontrolką typu pochodnego, wywołując polecenie CMFCToolBarsCustomizeDialog::ReplaceButton.

CMFCToolBarsCustomizeDialog::CheckToolsValidity

Sprawdza poprawność listy narzędzi użytkownika.

virtual BOOL CheckToolsValidity(const CObList& lstTools);

Parametry

lstTools
[in] Lista narzędzi zdefiniowanych przez użytkownika do sprawdzenia.

Wartość zwracana

Zwraca wartość TRUE, jeśli lista narzędzi zdefiniowanych przez użytkownika jest prawidłowa; w przeciwnym razie FAŁSZ. Domyślna implementacja zawsze zwraca wartość TRUE.

Uwagi

Struktura wywołuje tę metodę, aby zweryfikować ważność obiektów reprezentujących narzędzia zdefiniowane przez użytkownika zwrócone przez cmFCToolBarsCustomizeDialog::CheckToolsValidity.

Zastąp metodę CheckToolsValidity w klasie pochodnej, CMFCToolBarsCustomizeDialog jeśli chcesz zweryfikować narzędzia użytkownika przed zamknięciem okna dialogowego przez użytkownika. Jeśli ta metoda zwraca wartość FALSE, gdy użytkownik kliknie przycisk Zamknij w prawym górnym rogu okna dialogowego lub przycisk z etykietą Zamknij w prawym dolnym rogu okna dialogowego, w oknie dialogowym zostanie wyświetlona karta Narzędzia zamiast zamykania. Jeśli ta metoda zwraca wartość FALSE, gdy użytkownik kliknie kartę, aby przejść z karty Narzędzia , nawigacja nie zostanie wykonana. Powinno zostać wyświetlone odpowiednie pole komunikatu, aby poinformować użytkownika o problemie, który spowodował niepowodzenie weryfikacji.

CMFCToolBarsCustomizeDialog::CMFCToolBarsCustomizeDialog

CMFCToolBarsCustomizeDialog Tworzy obiekt.

CMFCToolBarsCustomizeDialog(
    CFrameWnd* pWndParentFrame,
    BOOL bAutoSetFromMenus = FALSE,
    UINT uiFlags = (AFX_CUSTOMIZE_MENU_SHADOWS | AFX_CUSTOMIZE_TEXT_LABELS | AFX_CUSTOMIZE_MENU_ANIMATIONS | AFX_CUSTOMIZE_NOHELP),
    CList <CRuntimeClass*, CRuntimeClass*>* p listCustomPages = NULL);

Parametry

pWndParentFrame
[in] Wskaźnik do ramki nadrzędnej. Ten parametr nie może mieć wartości NULL.

bAutoSetFromMenus
[in] Wartość logiczna określająca, czy należy dodać polecenia menu ze wszystkich menu do listy poleceń na stronie Polecenia . Jeśli ten parametr ma wartość TRUE, zostaną dodane polecenia menu. W przeciwnym razie polecenia menu nie są dodawane.

uiFlags
[in] Kombinacja flag, które wpływają na zachowanie okna dialogowego. Ten parametr może być co najmniej jedną z następujących wartości:

  • AFX_CUSTOMIZE_MENU_SHADOWS

  • AFX_CUSTOMIZE_TEXT_LABELS

  • AFX_CUSTOMIZE_MENU_ANIMATIONS

  • AFX_CUSTOMIZE_NOHELP

  • AFX_CUSTOMIZE_CONTEXT_HELP

  • AFX_CUSTOMIZE_NOTOOLS

  • AFX_CUSTOMIZE_MENUAMPERS

  • AFX_CUSTOMIZE_NO_LARGE_ICONS

plistCustomPages
[in] Wskaźnik do listy obiektów określających CRuntimeClass dodatkowe strony niestandardowe.

Uwagi

Parametr plistCustomPages odwołuje się do listy CRuntimeClass obiektów, które określają dodatkowe strony niestandardowe. Konstruktor dodaje więcej stron do okna dialogowego przy użyciu metody CRuntimeClass::CreateObject . Zobacz przykład CustomPages, aby zapoznać się z przykładem, który dodaje więcej stron do okna dialogowego Dostosowywanie .

Aby uzyskać więcej informacji na temat wartości, które można przekazać w parametrze uiFlags , zobacz CMFCToolBarsCustomizeDialog::GetFlags.

Przykład

W poniższym przykładzie pokazano, jak utworzyć obiekt CMFCToolBarsCustomizeDialog klasy. Ten fragment kodu jest częścią przykładu Custom Pages.

CMFCToolBarsCustomizeDialog *pDlgCust = new CMFCToolBarsCustomizeDialog(this,
                                                                        TRUE /* Automatic menus scaning */,
                                                                        AFX_CUSTOMIZE_MENU_SHADOWS | AFX_CUSTOMIZE_TEXT_LABELS |
                                                                            AFX_CUSTOMIZE_MENU_ANIMATIONS, // default parameters
                                                                        &lstCustomPages);                  // pointer to the list of runtime classes of the custom property pages

CMFCToolBarsCustomizeDialog::Create

Wyświetla okno dialogowe Dostosowywanie.

virtual BOOL Create();

Wartość zwracana

Wartość TRUE, jeśli arkusz właściwości dostosowywania został utworzony pomyślnie; w przeciwnym razie FAŁSZ.

Uwagi

Wywołaj metodę Create dopiero po pełnym zainicjowaniu klasy.

CMFCToolBarsCustomizeDialog::EnableUserDefinedToolbars

Włącza lub wyłącza tworzenie nowych pasków narzędzi przy użyciu okna dialogowego Dostosowywanie .

void EnableUserDefinedToolbars(BOOL bEnable=TRUE);

Parametry

bEnable
[in] WARTOŚĆ TRUE w celu włączenia pasków narzędzi zdefiniowanych przez użytkownika; FAŁSZ, aby wyłączyć paski narzędzi.

Uwagi

Jeśli wartość bEnable ma wartość TRUE, przyciski Nowe, Zmień nazwę i Usuń są wyświetlane na stronie Paski narzędzi.

Domyślnie lub jeśli bEnable ma wartość FALSE, te przyciski nie są wyświetlane i użytkownik nie może zdefiniować nowych pasków narzędzi.

CMFCToolBarsCustomizeDialog::FillAllCommandsList

Wypełnia podany CListBox obiekt poleceniami w kategorii Wszystkie polecenia .

virtual void FillAllCommandsList(CListBox& wndListOfCommands) const;

Parametry

wndListOfCommands
[out] Odwołanie do CListBox obiektu do wypełnienia.

Uwagi

Kategoria Wszystkie polecenia zawiera polecenia wszystkich kategorii. Metoda CMFCToolBarsCustomizeDialog::AddButton dodaje polecenie skojarzone z podanym przyciskiem do kategorii Wszystkie polecenia .

Ta metoda czyści zawartość dostarczonego CListBox obiektu przed wypełnieniem go za pomocą poleceń w kategorii Wszystkie polecenia .

Klasa CMFCMousePropertyPage używa tej metody do wypełnienia pola listy zdarzeń dwukrotnego kliknięcia.

CMFCToolBarsCustomizeDialog::FillCategoriesComboBox

Wypełnia podany CComboBox obiekt nazwą każdej kategorii poleceń w oknie dialogowym Dostosowywanie .

void FillCategoriesComboBox(
    CComboBox& wndCategory,
    BOOL bAddEmpty = TRUE) const;

Parametry

wndCategory
[out] Odwołanie do CComboBox obiektu do wypełnienia.

bAddEmpty
[in] Wartość logiczna określająca, czy dodać kategorie do pola kombi, które nie mają poleceń. Jeśli ten parametr ma wartość TRUE, puste kategorie zostaną dodane do pola kombi. W przeciwnym razie puste kategorie nie są dodawane.

Uwagi

Ta metoda jest podobna do metody CMFCToolBarsCustomizeDialog::FillCategoriesListBox , z tą różnicą, że ta metoda działa z obiektem CComboBox .

Ta metoda nie czyści zawartości CComboBox obiektu przed wypełnieniem. Gwarantuje to, że kategoria Wszystkie polecenia jest ostatnim elementem w polu kombi.

Nowe kategorie poleceń można dodać przy użyciu metody CMFCToolBarsCustomizeDialog::AddButton . Nazwę istniejącej kategorii można zmienić przy użyciu metody CMFCToolBarsCustomizeDialog::RenameCategory .

Klasy CMFCToolBarsKeyboardPropertyPage i CMFCKeyMapDialog używają tej metody do kategoryzowania mapowań klawiatury.

CMFCToolBarsCustomizeDialog::FillCategoriesListBox

Wypełnia podany CListBox obiekt nazwą każdej kategorii poleceń w oknie dialogowym Dostosowywanie .

void FillCategoriesListBox(
    CListBox& wndCategory,
    BOOL bAddEmpty = TRUE) const;

Parametry

wndCategory
[out] Odwołanie do CListBox obiektu do wypełnienia.

bAddEmpty
[in] Wartość logiczna określająca, czy dodać kategorie do pola listy, które nie mają poleceń. Jeśli ten parametr ma wartość TRUE, puste kategorie są dodawane do pola listy. W przeciwnym razie puste kategorie nie są dodawane.

Uwagi

Ta metoda jest podobna do metody CMFCToolBarsCustomizeDialog::FillCategoriesComboBox , z tą różnicą, że ta metoda działa z obiektem CListBox .

Ta metoda nie czyści zawartości CListBox obiektu przed wypełnieniem. Gwarantuje to, że kategoria Wszystkie polecenia jest ostatnim elementem w polu listy.

Nowe kategorie poleceń można dodać przy użyciu metody CMFCToolBarsCustomizeDialog::AddButton . Nazwę istniejącej kategorii można zmienić przy użyciu metody CMFCToolBarsCustomizeDialog::RenameCategory .

Klasa CMFCToolBarsCommandsPropertyPage używa tej metody do wyświetlania listy poleceń skojarzonych z każdą kategorią poleceń.

CMFCToolBarsCustomizeDialog::GetCommandName

Pobiera nazwę skojarzona z danym identyfikatorem polecenia.

LPCTSTR GetCommandName(UINT uiCmd) const;

Parametry

uiCmd
[in] Identyfikator polecenia do pobrania.

Wartość zwracana

Nazwa skojarzona z danym identyfikatorem polecenia lub null, jeśli polecenie nie istnieje.

CMFCToolBarsCustomizeDialog::GetCountInCategory

Pobiera liczbę elementów na podanej liście, które mają daną etykietę tekstową.

int GetCountInCategory(
    LPCTSTR lpszItemName,
    const CObList& lstCommands) const;

Parametry

lpszItemName
[in] Etykieta tekstowa do dopasowania.

lstCommands
[in] Odwołanie do listy zawierającej CMFCToolBarButton obiekty.

Wartość zwracana

Liczba elementów na podanej liście, których etykieta tekstowa jest równa lpszItemName.

Uwagi

Każdy element na podanej liście obiektów musi mieć typ CMFCToolBarButton. Ta metoda porównuje nazwę lpszItemName z elementem członkowskim danych CMFCToolBarButton::m_strText .

CMFCToolBarsCustomizeDialog::GetFlags

Pobiera zestaw flag, które wpływają na zachowanie okna dialogowego.

UINT GetFlags() const;

Wartość zwracana

Zestaw flag, które wpływają na zachowanie okna dialogowego.

Uwagi

Ta metoda pobiera wartość parametru uiFlags , który jest przekazywany do konstruktora. Wartość zwracana może być co najmniej jedną z następujących wartości:

Nazwa/nazwisko opis
AFX_CUSTOMIZE_MENU_SHADOWS Umożliwia użytkownikowi określenie wyglądu cienia menu.
AFX_CUSTOMIZE_TEXT_LABELS Umożliwia użytkownikowi określenie, czy etykiety tekstowe są wyświetlane pod obrazami przycisków paska narzędzi.
AFX_CUSTOMIZE_MENU_ANIMATIONS Umożliwia użytkownikowi określenie stylu animacji menu.
AFX_CUSTOMIZE_NOHELP Usuwa przycisk Pomocy z okna dialogowego dostosowywania.
AFX_CUSTOMIZE_CONTEXT_HELP Włącza styl wizualizacji WS_EX_CONTEXTHELP.
AFX_CUSTOMIZE_NOTOOLS Usuwa stronę Narzędzia z okna dialogowego dostosowywania. Ta flaga jest prawidłowa, jeśli aplikacja używa CUserToolsManager klasy .
AFX_CUSTOMIZE_MENUAMPERS Umożliwia podpisom przycisków zawierać znak &ersand ( &).
AFX_CUSTOMIZE_NO_LARGE_ICONS Usuwa opcję Duże ikony z okna dialogowego dostosowywania.

Aby uzyskać więcej informacji na temat stylu wizualizacji WS_EX_CONTEXTHELP, zobacz Rozszerzone style okien.

CMFCToolBarsCustomizeDialog::OnAfterChangeTool

Reaguje na zmianę w narzędziu użytkownika natychmiast po jego wystąpieniu.

virtual void OnAfterChangeTool(CUserTool* pSelTool);

Parametry

narzędzie pSelTool
[in, out] Wskaźnik do obiektu narzędzia użytkownika, który został zmieniony.

Uwagi

Ta metoda jest wywoływana przez platformę, gdy użytkownik zmienia właściwości narzędzia zdefiniowanego przez użytkownika. Domyślna implementacja nic nie robi. Zastąp tę metodę w klasie pochodnej do CMFCToolBarsCustomizeDialog wykonania przetwarzania po zmianie narzędzia użytkownika.

CMFCToolBarsCustomizeDialog::OnAssignKey

Weryfikuje skróty klawiaturowe, gdy użytkownik je definiuje.

virtual BOOL OnAssignKey(ACCEL* pAccel);

Parametry

pAccel
[in, out] Wskaźnik do proponowanego przypisania klawiatury, który jest wyrażony jako struktura ACCEL .

Wartość zwracana

Wartość TRUE, jeśli klucz może być przypisany lub FAŁSZ, jeśli nie można przypisać klucza. Domyślna implementacja zawsze zwraca wartość TRUE.

Uwagi

Zastąp tę metodę w klasie pochodnej, aby wykonać dodatkowe przetwarzanie, gdy użytkownik przypisze nowy skrót klawiaturowy lub zweryfikuj skróty klawiaturowe, ponieważ użytkownik je definiuje. Aby zapobiec przypisywaniu skrótu, zwróć wartość FALSE. Należy również wyświetlić okno komunikatu lub w inny sposób poinformować użytkownika o przyczynie odrzucenia skrótu klawiaturowego.

CMFCToolBarsCustomizeDialog::OnBeforeChangeTool

Wykonuje przetwarzanie niestandardowe w przypadku zmiany narzędzia użytkownika, gdy użytkownik ma zastosować zmianę.

virtual void OnBeforeChangeTool(CUserTool* pSelTool);

Parametry

narzędzie pSelTool
[in, out] Wskaźnik do obiektu narzędzia użytkownika, który ma zostać zastąpiony.

Uwagi

Ta metoda jest wywoływana przez platformę, gdy właściwości narzędzia zdefiniowanego przez użytkownika mają ulec zmianie. Domyślna implementacja nic nie robi. Zastąp metodę OnBeforeChangeTool w klasie pochodnej, CMFCToolBarsCustomizeDialog jeśli chcesz wykonać przetwarzanie przed zmianą narzędzia użytkownika, na przykład zwalnianie zasobów używanych przez narzędzie pSelTool .

CMFCToolBarsCustomizeDialog::OnEditToolbarMenuImage

Uruchamia edytor obrazów, aby użytkownik mógł dostosować przycisk paska narzędzi lub ikonę elementu menu.

virtual BOOL OnEditToolbarMenuImage(
    CWnd* pWndParent,
    CBitmap& bitmap,
    int nBitsPerPixel);

Parametry

pWndParent
[in] Wskaźnik do okna nadrzędnego.

bitmapa
[in] Odwołanie do obiektu mapy bitowej do edycji.

nBitsPerPixel
[in] Rozdzielczość kolorów mapy bitowej w bitach na piksel.

Wartość zwracana

WARTOŚĆ TRUE, jeśli zmiana jest zatwierdzana; w przeciwnym razie FAŁSZ. Domyślna implementacja wyświetla okno dialogowe i zwraca wartość TRUE, jeśli użytkownik kliknie przycisk OK lub FALSE, jeśli użytkownik kliknie przycisk Anuluj lub Zamknij .

Uwagi

Ta metoda jest wywoływana przez platformę, gdy użytkownik uruchamia edytor obrazów. Domyślna implementacja wyświetla okno dialogowe Klasa CMFCImageEditorDialog . Zastąp OnEditToolbarMenuImage element w klasie pochodnej, aby użyć niestandardowego edytora obrazów.

CMFCToolBarsCustomizeDialog::OnInitDialog

Zastępuje inicjowanie arkusza właściwości.

virtual BOOL OnInitDialog();

Wartość zwracana

Wynik wywołania metody CPropertySheet::OnInitDialog .

Uwagi

Ta metoda rozszerza implementację klasy bazowej CPropertySheet::OnInitDialog, wyświetlając przycisk Zamknij, upewniając się, że okno dialogowe pasuje do bieżącego rozmiaru ekranu i przenosząc przycisk Pomoc do lewego dolnego rogu okna dialogowego.

CMFCToolBarsCustomizeDialog::OnInitToolsPage

Obsługuje powiadomienie z platformy, że strona Narzędzia ma zostać zainicjowana.

virtual void OnInitToolsPage();

Uwagi

Domyślna implementacja nic nie robi. Zastąp tę metodę w klasie pochodnej, aby przetworzyć to powiadomienie.

CMFCToolBarsCustomizeDialog::P ostNcDestroy

Wywoływana przez platformę po tym, jak okno zostało zniszczone.

virtual void PostNcDestroy();

Uwagi

Ta metoda rozszerza implementację klasy bazowej , CPropertySheet::PostNcDestroyprzywracając aplikację do poprzedniego trybu.

Metoda CMFCToolBarsCustomizeDialog::Create umieszcza aplikację w trybie specjalnym, który ogranicza użytkownika do zadań dostosowywania.

CMFCToolBarsCustomizeDialog::RemoveButton

Usuwa przycisk z określonym identyfikatorem polecenia z określonej kategorii lub ze wszystkich kategorii.

int RemoveButton(
    UINT uiCategoryId,
    UINT uiCmdId);

int RemoveButton(
    LPCTSTR lpszCategory,
    UINT uiCmdId);

Parametry

uiCategoryId
[in] Określa identyfikator kategorii, z którego ma być usunięty przycisk.

uiCmdId
[in] Określa identyfikator polecenia przycisku.

lpszCategory
[in] Określa nazwę kategorii, z której ma być usunięty przycisk.

Wartość zwracana

Indeks zerowy usuniętego przycisku lub -1, jeśli określony identyfikator polecenia nie został znaleziony w określonej kategorii. Jeśli parametr uiCategoryId to -1, zwracana wartość to 0.

Uwagi

Aby usunąć przycisk ze wszystkich kategorii, wywołaj pierwsze przeciążenie tej metody i ustaw parametr uiCategoryId na -1.

CMFCToolBarsCustomizeDialog::RenameCategory

Zmienia nazwę kategorii w polu listy kategorii na stronie Polecenia .

BOOL RenameCategory(
    LPCTSTR lpszCategoryOld,
    LPCTSTR lpszCategoryNew);

Parametry

lpszCategoryOld
[in] Nazwa kategorii do zmiany.

lpszCategoryNew
[in] Nowa nazwa kategorii.

Wartość zwracana

Wartość TRUE, jeśli metoda zakończyła się pomyślnie; w przeciwnym razie FAŁSZ.

Uwagi

Nazwa kategorii musi być unikatowa.

CMFCToolBarsCustomizeDialog::ReplaceButton

Zamienia przycisk paska narzędzi w polu listy poleceń na stronie Polecenia .

void ReplaceButton(
    UINT uiCmd,
    const CMFCToolBarButton& button);

Parametry

uiCmd
[in] Określa polecenie przycisku do zastąpienia.

guzik
[in] Odwołanie const do obiektu przycisku paska narzędzi, który zastępuje stary przycisk.

Uwagi

Gdy CMFCToolBarsCustomizeDialog::AddMenu, CMFCToolBarsCustomizeDialog::AddMenuCommands lub CMFCToolBarsCustomizeDialog::AddToolBar dodaje polecenie do strony Polecenia, to polecenie znajduje się w postaci obiektu klasy CMFCToolBarButton (lub obiektu klasy CMFCToolBarMenuButton dla elementu menu zawierającego podmenu dodanego przez AddMenuCommandsprogram ). Platforma wywołuje również te trzy metody, aby automatycznie dodawać polecenia. Jeśli zamiast tego chcesz, aby polecenie było reprezentowane przez typ pochodny, wywołaj ReplaceButton i przekaż przycisk typu pochodnego.

Przykład

W poniższym przykładzie pokazano, jak używać ReplaceButton metody w CMFCToolBarsCustomizeDialog klasie . Ten fragment kodu jest częścią przykładu pokazowego programu Visual Studio.

// CMFCToolBarsCustomizeDialog* pDlgCust
     // CMFCToolBarComboBoxButton comboButtonConfig
     pDlgCust->ReplaceButton(ID_DUMMY_SELECT_ACTIVE_CONFIGURATION, comboButtonConfig);

CMFCToolBarsCustomizeDialog::SetUserCategory

Określa, która kategoria na liście kategorii na stronie Polecenia jest kategorią użytkownika. Przed wywołaniem funkcji CMFCToolBarsCustomizeDialog::Create należy wywołać tę funkcję.

BOOL SetUserCategory(LPCTSTR lpszCategory);

Parametry

lpszCategory
[in] Nazwa kategorii.

Wartość zwracana

Wartość TRUE, jeśli metoda zakończyła się pomyślnie; w przeciwnym razie FAŁSZ.

Uwagi

Ustawienie kategorii użytkownika nie jest obecnie używane przez platformę.

Zobacz też

Wykres hierarchii
Klasy
Klasa CPropertySheet