Starsze typy kontrolek ActiveX (Forms 2.0)

Starsze typy kontrolek ActiveX (Forms 2.0)

Starsze ActiveX (Forms 2.0) Typy kontrolek

Praca z obiektami OLE i osadzonymi treściami opisuje, jak uzyskać dostęp do osadzonej kontrolki Microsoft Forms 2.0 ActiveX poprzez OleFormat.OleControl i rzutować ją na abstrakcyjną Forms2OleControl klasę bazową. Aspose.Words FOSS dla .NET udostępnia również pięć silnie typowanych podklas dla konkretnych rodzajów kontrolek obsługiwanych przez Word — CheckBoxControl, OptionButtonControl, TextBoxControl, CommandButtonControl, oraz MorphDataControl — każdy w Aspose.Words.Drawing.Ole przestrzeń nazw, dodając jeden element specyficzny dla kontrolki ponad właściwościami Forms2OleControl już zapewnia (Caption, Value, Enabled, Type, GroupName, ForeColor, BackColor, Width, Height, Name, ChildNodes).


CheckBoxControl i OptionButtonControl

CheckBoxControl rozszerza MorphDataControl i dodaje Checked (jako bool) dla stanu włącz/wyłącz kontrolki. OptionButtonControl również rozszerza MorphDataControl i dodaje Selected (jako bool) – używane do zestawu wzajemnie wykluczających się przycisków opcji, które współdzielą ten sam GroupName.


TextBoxControl

TextBoxControl rozszerza MorphDataControl i dodaje Text (jako string), wyświetlany i edytowalny tekst kontrolki.


CommandButtonControl

CommandButtonControl rozszerza Forms2OleControl bezpośrednio (nie MorphDataControl) i posiada własny konstruktor. Reprezentuje przycisk, który uruchamia makro po kliknięciu w Wordzie, a jego etykieta przycisku jest udostępniona poprzez odziedziczoną właściwość Caption.


MorphDataControl: wspólna baza dla kontrolek wprowadzania danych

MorphDataControl jest bazą zbiorczą dla sześciu powiązanych rodzajów kontrolek — checkbox, combo box, list box, option button, text box i toggle button. CheckBoxControl, OptionButtonControl i TextBoxControl każdy z nich rozszerza ją, dziedzicząc jej członków i dodając własną właściwość specyficzną dla typu.


Wskazówki i najlepsze praktyki

  • Odczytaj Forms2OleControl.Type (wartość Forms2OleControlType), aby zidentyfikować kontrolkę przed rzutowaniem jej na jedną ze specyficznych podklas — nie każdy Forms2OleControl jest jedną z pięciu silnie typowanych podklas opisanych tutaj.
  • Użyj GroupName, aby powiązać kilka instancji OptionButtonControl w jeden wzajemnie wykluczający się zestaw, odzwierciedlając sposób, w jaki Word grupuje przyciski opcji.
  • Dostęp do zagnieżdżonych kontrolek wewnątrz ramki lub wielostronicowego kontenera uzyskaj poprzez odziedziczony ChildNodes (a Forms2OleControlCollection), niezależnie od tego, jaką podklasą jest kontener.

Typowe problemy

ProblemPrzyczynaPoprawka
Rzutowanie Forms2OleControl na CheckBoxControl powoduje InvalidCastExceptionKontrolka jest innego rodzaju kontrolki Forms 2.0 (na przykład TextBoxControl lub OptionButtonControl)Sprawdź Forms2OleControl.Type przed rzutowaniem na określoną podklasę
OptionButtonControl.Selected nie zachowuje się jako wzajemnie wykluczający się względem kontrolek siostrzanychKontrolki nie współdzielą tego samego GroupNameUstaw taką samą wartość GroupName na każdym OptionButtonControl w zestawie
CommandButtonControl.Caption jest pustyEtykieta przycisku pochodzi z odziedziczonego Forms2OleControl.Caption, a nie z właściwości specyficznej dla CommandButtonControlOdczytaj Caption, a nie nieistniejącego członka dostępnego wyłącznie dla CommandButtonControl

FAQ

Jak mogę dowiedzieć się, jaką konkretną klasę kontrolki silnie typowaną jest właściwie Forms2OleControl?

Odczytaj jej właściwość Type (Forms2OleControlType) lub spróbuj rzutować na oczekiwaną konkretną podklasę, taką jak CheckBoxControl lub TextBoxControl.

Jaka jest różnica między MorphDataControl a Forms2OleControl?

Forms2OleControl jest abstrakcyjną bazą dla każdej kontrolki Forms 2.0. MorphDataControl jest bardziej specyficzną abstrakcyjną bazą, rozszerzającą Forms2OleControl, wspólną dla rodzajów kontrolek: checkbox, combo box, list box, option button, text box i toggle button.

Jak odczytać stan zaznaczenia kontrolki checkbox?

Rzutuj Forms2OleControl na CheckBoxControl i odczytaj jego właściwość Checked.

Czy CommandButtonControl rozszerza MorphDataControl tak jak pozostałe?

Nie – CommandButtonControl rozszerza Forms2OleControl bezpośrednio, ponieważ przycisk polecenia nie jest kontrolą wprowadzania danych.


API Reference Podsumowanie

KlasaOpis
MorphDataControlAbstrakcyjna baza dla kontrolek pola wyboru, pola kombi, listy, przycisku opcji, pola tekstowego i przycisku przełącznika
CheckBoxControlKontrolka pola wyboru; rozszerza MorphDataControl; dodaje Checked
OptionButtonControlKontrolka przycisku opcji; rozszerza MorphDataControl; dodaje Selected
TextBoxControlKontrolka pola tekstowego; rozszerza MorphDataControl; dodaje Text
CommandButtonControlKontrolka przycisku polecenia; rozszerza Forms2OleControl bezpośrednio

Zobacz także

 Polski