Klasa CMFCPropertySheet
Klasa CMFCPropertySheet
obsługuje arkusz właściwości, w którym każda strona właściwości jest oznaczona kartą strony, przyciskiem paska narzędzi, węzłem kontrolki drzewa lub elementem listy.
Składnia
class CMFCPropertySheet : public CPropertySheet
Elementy członkowskie
Konstruktory publiczne
Nazwa/nazwisko | opis |
---|---|
CMFCPropertySheet::CMFCPropertySheet | CMFCPropertySheet Tworzy obiekt. |
CMFCPropertySheet::~CMFCPropertySheet |
Destruktor. |
Metody publiczne
Nazwa/nazwisko | opis |
---|---|
CMFCPropertySheet::AddPage | Dodaje stronę do arkusza właściwości. |
CMFCPropertySheet::AddPageToTree | Dodaje nową stronę właściwości do kontrolki drzewa. |
CMFCPropertySheet::AddTreeCategory | Dodaje nowy węzeł do kontrolki drzewa. |
CMFCPropertySheet::EnablePageHeader | Rezerwuje miejsce w górnej części każdej strony, aby narysować nagłówek niestandardowy. |
CMFCPropertySheet::GetHeaderHeight | Pobiera wysokość bieżącego nagłówka. |
CMFCPropertySheet::GetLook | Pobiera wartość wyliczenia, która określa wygląd bieżącego arkusza właściwości. |
CMFCPropertySheet::GetNavBarWidth | Ponawia próbę szerokości paska nawigacyjnego w pikselach. |
CMFCPropertySheet::GetTab | Pobiera wewnętrzny obiekt kontrolki karty, który obsługuje bieżącą kontrolkę arkusza właściwości. |
CMFCPropertySheet::GetThisClass |
Używany przez platformę do uzyskiwania wskaźnika do obiektu CRuntimeClass skojarzonego z tym typem klasy. |
CMFCPropertySheet::InitNavigationControl | Inicjuje wygląd bieżącej kontrolki arkusza właściwości. |
CMFCPropertySheet::OnActivatePage | Wywoływana przez platformę po włączeniu strony właściwości. |
CMFCPropertySheet::OnDrawPageHeader | Wywoływana przez strukturę w celu narysowania nagłówka strony właściwości niestandardowej. |
CMFCPropertySheet::OnInitDialog |
Obsługuje komunikat WM_INITDIALOG. (Przesłonięcia) CPropertySheet::OnInitDialog. |
CMFCPropertySheet::OnRemoveTreePage | Wywoływana przez strukturę w celu usunięcia strony właściwości z kontrolki drzewa. |
CMFCPropertySheet::PreTranslateMessage |
Tłumaczy komunikaty okien przed ich wysłaniem do funkcji TranslateMessage i DispatchMessage systemu Windows. (Przesłania CPropertySheet::PreTranslateMessage ). |
CMFCPropertySheet::RemoveCategory | Usuwa węzeł z kontrolki drzewa. |
CMFCPropertySheet::RemovePage | Usuwa stronę właściwości z arkusza właściwości. |
CMFCPropertySheet::SetIconsList | Określa listę obrazów używanych w kontrolce nawigacji okienka programu Outlook. |
CMFCPropertySheet::SetLook | Określa wygląd arkusza właściwości. |
Uwagi
Klasa CMFCPropertySheet
reprezentuje arkusze właściwości, znane również jako okna dialogowe karty. Klasa CMFCPropertySheet
może wyświetlać stronę właściwości na różne sposoby.
Wykonaj następujące kroki, aby użyć CMFCPropertySheet
klasy w aplikacji:
Utwórz klasę z
CMFCPropertySheet
klasy i nadaj jej nazwę, na przykład CMyPropertySheet.Skonstruuj obiekt CMFCPropertyPage dla każdej strony właściwości.
Wywołaj metodę CMFCPropertySheet::SetLook w konstruktorze CMyPropertySheet. Parametr tej metody określa, że strony właściwości są wyświetlane jako karty u góry lub po lewej stronie arkusza właściwości; karty w stylu arkusza właściwości programu Microsoft OneNote; przyciski na kontrolce paska narzędzi programu Microsoft Outlook; węzły w kontrolce drzewa; lub jako lista elementów po lewej stronie arkusza właściwości.
Jeśli utworzysz arkusz właściwości w stylu paska narzędzi programu Microsoft Outlook, wywołaj metodę CMFCPropertySheet::SetIconsList , aby skojarzyć listę obrazów ze stronami właściwości.
Wywołaj metodę CMFCPropertySheet::AddPage dla każdej strony właściwości.
Utwórz kontrolkę
CMFCPropertySheet
i wywołaj jejDoModal
metodę.
Ilustracje
Poniższa ilustracja przedstawia arkusz właściwości w stylu osadzonego paska narzędzi programu Microsoft Outlook. Pasek narzędzi programu Outlook jest wyświetlany po lewej stronie arkusza właściwości.
Poniższa ilustracja przedstawia arkusz właściwości, który zawiera obiekt klasy CMFCPropertyGridCtrl. Ten obiekt jest arkuszem właściwości w stylu standardowego wspólnego arkusza właściwości kontrolek.
Poniższa ilustracja przedstawia arkusz właściwości w stylu kontrolki drzewa.
Hierarchia dziedziczenia
Wymagania
Nagłówek: afxpropertysheet.h
CMFCPropertySheet::AddPage
Dodaje stronę do arkusza właściwości.
void AddPage(CPropertyPage* pPage);
Parametry
pPage
[in] Wskaźnik do obiektu strony. Ten parametr nie może mieć wartości NULL.
Uwagi
Ta metoda dodaje określoną stronę właściwości jako kartę z prawej strony w arkuszu właściwości. W związku z tym użyj tej metody, aby dodać strony w kolejności od lewej do prawej.
Jeśli arkusz właściwości jest w stylu programu Microsoft Outlook, platforma wyświetla listę przycisków nawigacji po lewej stronie arkusza właściwości. Po dodaniu strony właściwości ta metoda dodaje odpowiedni przycisk do listy. Aby wyświetlić stronę właściwości, kliknij odpowiedni przycisk. Aby uzyskać więcej informacji na temat stylów arkuszy właściwości, zobacz CMFCPropertySheet::SetLook.
CMFCPropertySheet::AddPageToTree
Dodaje nową stronę właściwości do kontrolki drzewa.
void AddPageToTree(
CMFCPropertySheetCategoryInfo* pCategory,
CMFCPropertyPage* pPage,
int nIconNum=-1,
int nSelIconNum=-1);
Parametry
pCategory
[in] Wskaźnik do węzła drzewa nadrzędnego lub wartość NULL, aby skojarzyć określoną stronę z węzłem najwyższego poziomu. Wywołaj metodę CMFCPropertySheet::AddTreeCategory , aby uzyskać ten wskaźnik.
pPage
[in] Wskaźnik do obiektu strony właściwości.
nIconNum
[in] Zerowy indeks ikony lub -1, jeśli nie jest używana żadna ikona. Ikona jest wyświetlana obok strony właściwości kontrolki drzewa, gdy strona nie jest zaznaczona. Wartość domyślna to -1.
nSelIconNum
[in] Zerowy indeks ikony lub -1, jeśli nie jest używana żadna ikona. Ikona jest wyświetlana obok strony właściwości kontrolki drzewa po wybraniu strony. Wartość domyślna to -1.
Uwagi
Ta metoda dodaje stronę właściwości jako liść kontrolki drzewa. Aby dodać stronę właściwości, utwórz obiekt, wywołaj metodę CMFCPropertySheet
CMFCPropertySheet::SetLook z parametrem look ustawionym na CMFCPropertySheet::PropSheetLook_Tree
, a następnie użyj tej metody, aby dodać stronę właściwości.
CMFCPropertySheet::AddTreeCategory
Dodaje nowy węzeł do kontrolki drzewa.
CMFCPropertySheetCategoryInfo* AddTreeCategory(
LPCTSTR lpszLabel,
int nIconNum=-1,
int nSelectedIconNum=-1,
const CMFCPropertySheetCategoryInfo* pParentCategory=NULL);
Parametry
lpszLabel
[in] Nazwa węzła.
nIconNum
[in] Zerowy indeks ikony lub -1, jeśli nie jest używana żadna ikona. Ikona jest wyświetlana obok strony właściwości kontrolki drzewa, gdy strona nie jest zaznaczona. Wartość domyślna to -1.
nSelectedIconNum
[in] Zerowy indeks ikony lub -1, jeśli nie jest używana żadna ikona. Ikona jest wyświetlana obok strony właściwości kontrolki drzewa po wybraniu strony. Wartość domyślna to -1.
pParentCategory
[in] Wskaźnik do węzła drzewa nadrzędnego lub wartość NULL, aby skojarzyć określoną stronę z węzłem najwyższego poziomu. Ustaw ten parametr za pomocą metody CMFCPropertySheet::AddTreeCategory .
Wartość zwracana
Wskaźnik do nowego węzła w kontrolce drzewa.
Uwagi
Użyj tej metody, aby dodać nowy węzeł, który jest również określany jako kategoria, do kontrolki drzewa. Aby dodać węzeł, utwórz obiekt, wywołaj metodę CMFCPropertySheet
CMFCPropertySheet::SetLook z parametrem look ustawionym na CMFCPropertySheet::PropSheetLook_Tree
, a następnie użyj tej metody, aby dodać węzeł.
Użyj wartości zwracanej tej metody w kolejnych wywołaniach polecenia CMFCPropertySheet::AddPageToTree i CMFCPropertySheet::AddTreeCategory.
CMFCPropertySheet::CMFCPropertySheet
CMFCPropertySheet
Tworzy obiekt.
CMFCPropertySheet(
UINT nIDCaption,
CWnd* pParentWnd=NULL,
UINT iSelectPage=0);
CMFCPropertySheet(
LPCTSTR pszCaption,
CWnd* pParentWnd=NULL,
UINT iSelectPage=0);
Parametry
pszCaption
[in] Ciąg zawierający podpis arkusza właściwości. Nie można mieć wartości NULL.
nIDCaption
[in] Identyfikator zasobu zawierający podpis arkusza właściwości.
pParentWnd
[in] Wskaźnik do okna nadrzędnego arkusza właściwości lub wartość NULL, jeśli okno nadrzędne jest głównym oknem aplikacji. Wartość domyślna to NULL.
iSelectPage
[in] Indeks na podstawie zera strony właściwości górnej. Wartość domyślna to 0.
Uwagi
Aby uzyskać więcej informacji, zobacz parametry konstruktora CPropertySheet::CPropertySheet .
CMFCPropertySheet::EnablePageHeader
Rezerwuje miejsce w górnej części każdej strony, aby narysować nagłówek niestandardowy.
void EnablePageHeader(int nHeaderHeight);
Parametry
nHeaderHeight
[in] Wysokość nagłówka w pikselach.
Uwagi
Aby użyć wartości parametru nHeaderHeight w celu narysowania nagłówka niestandardowego, przesłoń metodę CMFCPropertySheet::OnDrawPageHeader .
CMFCPropertySheet::GetHeaderHeight
Pobiera wysokość bieżącego nagłówka.
int GetHeaderHeight() const;
Wartość zwracana
Wysokość nagłówka w pikselach.
Uwagi
Przed wywołaniem tej metody wywołaj metodę CMFCPropertySheet::EnablePageHeader .
CMFCPropertySheet::GetLook
Pobiera wartość wyliczenia, która określa wygląd bieżącego arkusza właściwości.
PropSheetLook GetLook() const;
Wartość zwracana
Jedna z wartości wyliczenia, która określa wygląd arkusza właściwości. Aby uzyskać listę możliwych wartości, zobacz tabelę wyliczenia w sekcji Uwagi cmFCPropertySheet::SetLook.
CMFCPropertySheet::GetNavBarWidth
Pobiera szerokość paska nawigacyjnego.
int GetNavBarWidth() const;
Wartość zwracana
Szerokość paska nawigacyjnego w pikselach.
CMFCPropertySheet::GetTab
Pobiera wewnętrzny obiekt kontrolki karty, który obsługuje bieżącą kontrolkę arkusza właściwości.
CMFCTabCtrl& GetTab() const;
Wartość zwracana
Wewnętrzny obiekt kontrolki karty.
Uwagi
Arkusz właściwości można ustawić tak, aby był wyświetlany w różnych stylach, takich jak kontrolka drzewa, lista przycisków nawigacji lub zestaw stron z kartami.
Przed wywołaniem tej metody wywołaj metodę CMFCPropertySheet::SetLook , aby ustawić wygląd kontrolki arkusza właściwości. Następnie wywołaj metodę CMFCPropertySheet::InitNavigationControl , aby zainicjować obiekt wewnętrznej kontrolki karty. Użyj tej metody, aby pobrać obiekt kontrolki karty, a następnie użyć tego obiektu do pracy z kartami w arkuszu właściwości.
Ta metoda jest asercyjna w trybie debugowania, jeśli kontrolka arkusza właściwości nie jest ustawiona na wyświetlaną w stylu programu Microsoft OneNote.
CMFCPropertySheet::InitNavigationControl
Inicjuje wygląd bieżącej kontrolki arkusza właściwości.
virtual CWnd* InitNavigationControl();
Wartość zwracana
Wskaźnik do okna kontrolki arkusza właściwości.
Uwagi
Kontrolka arkusza właściwości może być wyświetlana w kilku różnych formularzach, takich jak zestaw stron z kartami, kontrolka drzewa lub lista przycisków nawigacji. Użyj metody CMFCPropertySheet::SetLook, aby określić wygląd kontrolki arkusza właściwości.
CMFCPropertySheet::OnActivatePage
Wywoływana przez platformę po włączeniu strony właściwości.
virtual void OnActivatePage(CPropertyPage* pPage);
Parametry
pPage
[in] Wskaźnik do obiektu strony właściwości, który reprezentuje stronę właściwości włączonej.
Uwagi
Domyślnie ta metoda gwarantuje, że strona właściwości z włączoną obsługą zostanie przewinięta do widoku. Jeśli styl bieżącego arkusza właściwości zawiera okienko programu Microsoft Outlook, ta metoda ustawia odpowiedni przycisk programu Outlook na stan sprawdzony.
CMFCPropertySheet::OnDrawPageHeader
Wywoływana przez strukturę w celu narysowania nagłówka strony właściwości niestandardowej.
virtual void OnDrawPageHeader(
CDC* pDC,
int nPage,
CRect rectHeader);
Parametry
PDC
[in] Wskaźnik do kontekstu urządzenia.
nPage
[in] Numer strony właściwości opartej na zera.
rectHeader
[in] Prostokąt ograniczenia, który określa, gdzie narysować nagłówek.
Uwagi
Domyślnie ta metoda nic nie robi. Jeśli zastąpisz tę metodę, przed wywołaniem tej metody wywołaj metodę CMFCPropertySheet::EnablePageHeader .
CMFCPropertySheet::OnRemoveTreePage
Wywoływana przez strukturę w celu usunięcia strony właściwości z kontrolki drzewa.
virtual BOOL OnRemoveTreePage(CPropertyPage* pPage);
Parametry
pPage
[in] Wskaźnik do obiektu strony właściwości, który reprezentuje stronę właściwości do usunięcia.
Wartość zwracana
Wartość TRUE, jeśli ta metoda zakończyła się pomyślnie; w przeciwnym razie, FAŁSZ.
CMFCPropertySheet::RemoveCategory
Usuwa węzeł z kontrolki drzewa.
void RemoveCategory(CMFCPropertySheetCategoryInfo* pCategory);
Parametry
pCategory
[in] Wskaźnik do kategorii (węzła), aby usunąć.
Uwagi
Użyj tej metody, aby usunąć węzeł, który jest również określany jako kategoria, z kontrolki drzewa. Użyj metody CMFCPropertySheet::AddTreeCategory, aby dodać węzeł do kontrolki drzewa.
CMFCPropertySheet::RemovePage
Usuwa stronę właściwości z arkusza właściwości.
void RemovePage(CPropertyPage* pPage);
void RemovePage(int nPage);
Parametry
pPage
[in] Wskaźnik do obiektu strony właściwości, który reprezentuje stronę właściwości do usunięcia. Nie można mieć wartości NULL.
nPage
[in] Indeks na podstawie zera strony do usunięcia.
Uwagi
Ta metoda usuwa określoną stronę właściwości i niszczy skojarzone okno. Obiekt strony właściwości określony przez parametr pPage nie zostanie zniszczony do momentu zamknięcia okna CMFCPropertySheet .
CMFCPropertySheet::SetIconsList
Określa listę obrazów używanych w kontrolce nawigacji okienka programu Outlook.
BOOL SetIconsList(
UINT uiImageListResID,
int cx,
COLORREF clrTransparent=RGB(255, 0, 255));
void SetIconsList(HIMAGELIST hIcons);
Parametry
uiImageListResID
[in] Identyfikator zasobu listy obrazów.
cx
[in] Szerokość ikon w pikselach na liście obrazów.
clrTransparent
[in] Przezroczysty kolor obrazu. Części obrazu, które są tym kolorem, będą przezroczyste. Wartość domyślna to kolor magenta, RGB(255,0,255).
hIcons
[in] Dojście do istniejącej listy obrazów.
Wartość zwracana
W pierwszej składni przeciążenia metody wartość TRUE, jeśli ta metoda zakończyła się pomyślnie; w przeciwnym razie, FAŁSZ.
Uwagi
Jeśli arkusz właściwości jest w stylu programu Microsoft Outlook, platforma wyświetla listę przycisków nawigacji, nazywanych kontrolką okienka programu Outlook po lewej stronie arkusza właściwości. Użyj tej metody, aby ustawić listę obrazów, która ma być używana przez kontrolkę okienka programu Outlook.
Aby uzyskać więcej informacji na temat metod, które obsługują tę metodę, zobacz CImageList::Create i CImageList::Add. Aby uzyskać więcej informacji na temat ustawiania stylu arkusza właściwości, zobacz CMFCPropertySheet::SetLook.
CMFCPropertySheet::SetLook
Określa wygląd arkusza właściwości.
void SetLook(
PropSheetLook look,
int nNavControlWidth=100);
Parametry
patrzeć
[in] Jedna z wartości wyliczenia, która określa wygląd arkusza właściwości. Domyślnym stylem arkusza właściwości jest CMFCPropertySheet::PropSheetLook_Tabs
. Aby uzyskać więcej informacji, zobacz tabelę w sekcji Uwagi w tym temacie.
nNavControlWidth
[in] Szerokość kontrolki nawigacji w pikselach. Wartość domyślna to 100.
Uwagi
Aby wyświetlić arkusz właściwości w stylu innym niż domyślny, przed utworzeniem okna arkusza właściwości wywołaj tę metodę.
W poniższej tabeli wymieniono wartości wyliczenia, które można określić w parametrze look .
Wartość | Opis |
---|---|
CMFCPropertySheet::PropSheetLook_Tabs |
(Ustawienie domyślne) Wyświetla kartę dla każdej strony właściwości. Karty są wyświetlane w górnej części arkusza właściwości i są ułożone, jeśli istnieje więcej kart niż będzie mieścić się w jednym wierszu. |
CMFCPropertySheet::PropSheetLook_OutlookBar |
Wyświetla listę przycisków nawigacji w stylu paska programu Microsoft Outlook po lewej stronie arkusza właściwości. Każdy przycisk na liście odpowiada stronie właściwości. Platforma wyświetla strzałki przewijania, jeśli istnieje więcej przycisków niż będzie pasować do widocznego obszaru listy. |
CMFCPropertySheet::PropSheetLook_Tree |
Wyświetla kontrolkę drzewa po lewej stronie arkusza właściwości. Każdy węzeł nadrzędny lub podrzędny kontrolki drzewa odpowiada stronie właściwości. Platforma wyświetla strzałki przewijania, jeśli istnieje więcej węzłów niż będzie pasować do widocznego obszaru kontrolki drzewa. |
CMFCPropertySheet::PropSheetLook_OneNoteTabs |
Wyświetla kartę w stylu programu Microsoft OneNote dla każdej strony właściwości. Platforma wyświetla karty w górnej części arkusza właściwości i strzałki przewijania, jeśli istnieje więcej kart niż zmieści się w jednym wierszu. |
CMFCPropertySheet::PropSheetLook_List |
Wyświetla listę po lewej stronie arkusza właściwości. Każdy element listy odpowiada stronie właściwości. Platforma wyświetla strzałki przewijania, jeśli istnieje więcej elementów listy niż będzie pasować do widocznego obszaru listy. |
Zobacz też
Wykres hierarchii
Klasy
Klasa CMFCPropertyPage
Klasa CMFCOutlookBar