Udostępnij za pośrednictwem


Formanty MFC ActiveX: strony właściwości

Strony właściwości umożliwiają użytkownikowi kontrolki ActiveX wyświetlanie i zmienianie właściwości kontrolki ActiveX. Te właściwości są dostępne przez wywołanie okna dialogowego właściwości kontrolki, które zawiera co najmniej jedną stronę właściwości, która udostępnia dostosowany, graficzny interfejs do wyświetlania i edytowania właściwości kontrolki.

Ważne

ActiveX to starsza technologia, która nie powinna być używana do tworzenia nowych rozwiązań. Aby uzyskać więcej informacji na temat nowoczesnych technologii zastępujących activex, zobacz Kontrolki ActiveX.

Strony właściwości kontrolek ActiveX są wyświetlane na dwa sposoby:

  • Po wywołaniu czasownika Właściwości kontrolki (OLEIVERB_PROPERTIES) kontrolka otwiera modalne okno dialogowe właściwości zawierające strony właściwości kontrolki.

  • Kontener może wyświetlić własne bez moderowane okno dialogowe, które pokazuje strony właściwości wybranej kontrolki.

Okno dialogowe właściwości (przedstawione na poniższej ilustracji) składa się z obszaru do wyświetlania bieżącej strony właściwości, kart przełączania między stronami właściwości i kolekcji przycisków wykonujących typowe zadania, takie jak zamykanie okna dialogowego strony właściwości, anulowanie wszelkich wprowadzonych zmian lub natychmiastowe stosowanie wszelkich zmian w kontrolce ActiveX.

Properties dialog box for Circ3.
Okno dialogowe Właściwości

W tym artykule opisano tematy związane z używaniem stron właściwości w kontrolce ActiveX. Są to:

Aby uzyskać więcej informacji na temat używania stron właściwości w kontrolce ActiveX, zobacz następujące artykuły:

Aby uzyskać informacje na temat używania arkuszy właściwości w aplikacji MFC innego niż kontrolka ActiveX, zobacz Arkusze właściwości.

Implementowanie strony właściwości domyślnej

Jeśli używasz Kreatora kontrolek ActiveX do utworzenia projektu kontrolki, Kreator kontrolek ActiveX udostępnia domyślną klasę strony właściwości dla kontrolki pochodzącej z klasy COlePropertyPage. Początkowo ta strona właściwości jest pusta, ale można dodać do niej dowolną kontrolkę okna dialogowego lub zestaw kontrolek. Ponieważ Kreator kontrolek ActiveX domyślnie tworzy tylko jedną klasę stron właściwości, należy utworzyć dodatkowe klasy stron właściwości (również pochodzące z COlePropertyPageklasy ) przy użyciu widoku klasy. Aby uzyskać więcej informacji na temat tej procedury, zobacz MFC ActiveX Controls: Adding Another Custom Property Page (Kontrolki ActiveX MFC: dodawanie innej niestandardowej strony właściwości).

Implementowanie strony właściwości (w tym przypadku wartością domyślną) jest procesem trzyetapowym:

Aby zaimplementować stronę właściwości

  1. Dodaj klasę pochodną COlePropertyPagedo projektu kontrolnego. Jeśli projekt został utworzony przy użyciu Kreatora kontrolek ActiveX (tak jak w tym przypadku), domyślna klasa strony właściwości już istnieje.

  2. Użyj edytora okien dialogowych, aby dodać dowolne kontrolki do szablonu strony właściwości.

  3. DoDataExchange Dostosuj funkcję klasy -pochodnejCOlePropertyPage, aby wymieniać wartości między kontrolką strony właściwości a kontrolką ActiveX.

Na przykład poniższe procedury używają prostej kontrolki (o nazwie "Przykład"). Przykład został utworzony przy użyciu Kreatora kontrolek ActiveX i zawiera tylko właściwość stock Caption.

Dodawanie kontrolek do strony właściwości

Aby dodać kontrolki do strony właściwości

  1. Po otwarciu projektu sterującego otwórz widok zasobów.

  2. Kliknij dwukrotnie ikonę katalogu Dialog .

  3. Otwórz okno dialogowe IDD_PROPPAGE_SAMPLE.

    Kreator kontrolek ActiveX dołącza nazwę projektu na końcu identyfikatora okna dialogowego, w tym przypadku Przykład.

  4. Przeciągnij i upuść wybraną kontrolkę z Przybornika do obszaru okna dialogowego.

  5. W tym przykładzie wystarczy kontrolka etykiety tekstowej "Caption :" i kontrolka pola edycji z identyfikatorem IDC_CAPTION.

  6. Kliknij przycisk Zapisz na pasku narzędzi, aby zapisać zmiany.

Po zmodyfikowaniu interfejsu użytkownika należy połączyć pole edycji z właściwością Caption. Odbywa się to w poniższej sekcji, edytując CSamplePropPage::DoDataExchange funkcję.

Dostosowywanie funkcji DoDataExchange

Strona właściwości CWnd::D oDataExchange umożliwia łączenie wartości strony właściwości z rzeczywistymi wartościami właściwości w kontrolce. Aby ustanowić łącza, należy zamapować odpowiednie pola strony właściwości na odpowiednie właściwości kontrolki.

Te mapowania są implementowane przy użyciu funkcji DDP_ strony właściwości. Funkcje DDP_ działają jak funkcje DDX_ używane w standardowych oknach dialogowych MFC z jednym wyjątkiem. Oprócz odwołania do zmiennej składowej funkcje DDP_ przyjmują nazwę właściwości kontrolki. Poniżej znajduje się typowy wpis w DoDataExchange funkcji dla strony właściwości.

DDP_Text(pDX, IDC_CAPTION, m_caption, _T("Caption"));

Ta funkcja kojarzy zmienną składową m_podpis strony właściwości z podpisem przy użyciu DDP_TEXT funkcji .

Po wstawieniu kontrolki strony właściwości należy ustanowić łącze między kontrolką strony właściwości, IDC_CAPTION i rzeczywistą właściwością kontrolki Caption, używając funkcji zgodnie z DDP_Text powyższym opisem.

Strony właściwości są dostępne dla innych typów kontrolek okien dialogowych, takich jak pola wyboru, przyciski radiowe i pola listy. W poniższej tabeli wymieniono cały zestaw stron właściwości DDP_ funkcje i ich cele:

Funkcje strony właściwości

Nazwa funkcji Użyj tej funkcji, aby połączyć
DDP_CBIndex Indeks wybranego ciągu w polu kombi z właściwością kontrolki.
DDP_CBString Wybrany ciąg w polu kombi z właściwością kontrolki. Wybrany ciąg może zaczynać się od tych samych liter co wartość właściwości, ale nie musi być w pełni zgodny.
DDP_CBStringExact Wybrany ciąg w polu kombi z właściwością kontrolki. Wybrany ciąg i wartość ciągu właściwości muszą być dokładnie zgodne.
DDP_Check Pole wyboru z właściwością kontrolki.
DDP_LBIndex Indeks wybranego ciągu w polu listy z właściwością kontrolki.
DDP_LBString Wybrany ciąg w polu listy z właściwością kontrolki. Wybrany ciąg może zaczynać się od tych samych liter co wartość właściwości, ale nie musi być w pełni zgodny.
DDP_LBStringExact Wybrany ciąg w polu listy z właściwością kontrolki. Wybrany ciąg i wartość ciągu właściwości muszą być dokładnie zgodne.
DDP_Radio Przycisk radiowy z właściwością kontrolki.
DDP_Text Tekst z właściwością kontrolki.

Zobacz też

Kontrolki ActiveX MFC
Klasa COlePropertyPage