Udostępnij za pośrednictwem


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:

  1. Utwórz klasę z CMFCPropertySheet klasy i nadaj jej nazwę, na przykład CMyPropertySheet.

  2. Skonstruuj obiekt CMFCPropertyPage dla każdej strony właściwości.

  3. 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.

  4. 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.

  5. Wywołaj metodę CMFCPropertySheet::AddPage dla każdej strony właściwości.

  6. Utwórz kontrolkę CMFCPropertySheet i wywołaj jej DoModal 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.

Kontrolki kolorów CMFCPropertySheet.

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.

Kontrolki listy i właściwości CMFCPropertySheet.

Poniższa ilustracja przedstawia arkusz właściwości w stylu kontrolki drzewa.

Drzewo właściwości.

Hierarchia dziedziczenia

Obiekt CObject

CCmdTarget

CWnd

CPropertySheet

CMFCPropertySheet

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