Typy starších ActiveX (Forms 2.0) ovládacích prvků

Typy starších ActiveX (Forms 2.0) ovládacích prvků

Legacy ActiveX (Forms 2.0) typy ovládacích prvků

Práce s OLE objekty a vloženým obsahem popisuje, jak získat přístup k vloženému ovládacímu prvku Microsoft Forms 2.0 ActiveX prostřednictvím OleFormat.OleControl a přetypovat jej na abstraktní Forms2OleControl základní třídu. Aspose.Words FOSS pro .NET také poskytuje pět silně typovaných podtříd pro konkrétní typy ovládacích prvků, které Word podporuje – CheckBoxControl, OptionButtonControl, TextBoxControl, CommandButtonControl, a MorphDataControl – každá v Aspose.Words.Drawing.Ole namespace, přidání jednoho člena specifického pro ovládací prvek nad vlastnosti Forms2OleControl již poskytuje (Caption, Value, Enabled, Type, GroupName, ForeColor, BackColor, Width, Height, Name, ChildNodes).


CheckBoxControl a OptionButtonControl

CheckBoxControl rozšiřuje MorphDataControl a přidává Checked (a bool) pro stav zapnutí/vypnutí ovládacího prvku. OptionButtonControl také rozšiřuje MorphDataControl a přidává Selected (a bool) – používá se pro sadu navzájem se vylučujících volitelných tlačítek, která sdílí stejný GroupName.


TextBoxControl

TextBoxControl rozšiřuje MorphDataControl a přidává Text (a string), zobrazovaný a editovatelný text ovládacího prvku.


CommandButtonControl

CommandButtonControl rozšiřuje Forms2OleControl přímo (ne MorphDataControl) a má vlastní konstruktor. Reprezentuje tlačítko, které spustí makro po kliknutí ve Wordu, přičemž popisek tlačítka je zpřístupněn prostřednictvím zděděné vlastnosti Caption.


MorphDataControl: sdílená základna pro ovládací prvky zadávání dat

MorphDataControl je agregátní základ pro šest souvisejících typů ovládacích prvků – zaškrtávací políčko, rozbalovací seznam, seznam, volitelný přepínač, textové pole a přepínací tlačítko. CheckBoxControl, OptionButtonControl a TextBoxControl každý rozšiřují tento základ, zdědí jeho členy a přidají si jednu vlastnost specifickou pro svůj typ.


Tipy a osvědčené postupy

  • Přečtěte Forms2OleControl.Type (hodnota Forms2OleControlType), abyste identifikovali ovládací prvek před jeho přetypováním na některou ze specifických podtříd – ne každý Forms2OleControl je jednou z pěti silně typovaných podtříd zde popsaných.
  • Použijte GroupName k přiřazení několika instancí OptionButtonControl do jedné navzájem se vylučující sady, což odpovídá tomu, jak Word seskupuje volitelné tlačítka.
  • Získejte přístup k vnořeným ovládacím prvkům uvnitř rámce nebo vícestránkového kontejneru prostřednictvím zděděného ChildNodes (a Forms2OleControlCollection), bez ohledu na to, jakou podtřídu kontejner představuje.

Běžné problémy

ProblémPříčinaOprava
Přetypování Forms2OleControl na CheckBoxControl vyvolá InvalidCastExceptionOvládací prvek je jiného typu Forms 2.0 (například TextBoxControl nebo OptionButtonControl)Zkontrolujte Forms2OleControl.Type před přetypováním na konkrétní podtřídu
OptionButtonControl.Selected se nechová jako vzájemně výlučný vůči sourozeneckým ovládacím prvkůmOvládací prvky nesdílejí stejný GroupNameNastavte stejnou hodnotu GroupName na každý OptionButtonControl v sadě
CommandButtonControl.Caption je prázdnýPopisek tlačítka pochází z děděného Forms2OleControl.Caption, nikoli z CommandButtonControl-specifické vlastnostiČtěte Caption, ne neexistující člen pouze pro CommandButtonControl

FAQ

Jak zjistím, kterou silně typovanou třídu ovládacího prvku ve skutečnosti představuje Forms2OleControl?

Přečtěte si jeho Type vlastnost (Forms2OleControlType) nebo zkuste přetypovat na konkrétní podtřídu, kterou očekáváte, například CheckBoxControl nebo TextBoxControl.

Jaký je rozdíl mezi MorphDataControl a Forms2OleControl?

Forms2OleControl je abstraktní základ pro každý ovládací prvek Forms 2.0. MorphDataControl je konkrétnější abstraktní základ, který sám rozšiřuje Forms2OleControl, sdílený zaškrtávacími políčky, rozbalovacími seznamy, seznamovými poli, volbními tlačítky, textovými poli a přepínacími tlačítky.

Jak mohu přečíst stav zaškrtnutí u ovládacího prvku checkbox?

Přetypujte Forms2OleControl na CheckBoxControl a přečtěte si jeho Checked vlastnost.

Rozšiřuje CommandButtonControl MorphDataControl jako ostatní?

Ne – CommandButtonControl rozšiřuje Forms2OleControl přímo, protože tlačítko příkazu není ovládací prvek pro zadávání dat.


API Reference Souhrn

TřídaPopis:
MorphDataControlAbstraktní základ pro ovládací prvky checkbox, combo box, list box, option button, text box a toggle button
CheckBoxControlOvládací prvek checkbox; rozšiřuje MorphDataControl; přidává Checked
OptionButtonControlOvládací prvek option button; rozšiřuje MorphDataControl; přidává Selected
TextBoxControlOvládací prvek textového pole; rozšiřuje MorphDataControl; přidává Text
CommandButtonControlOvládací prvek příkazového tlačítka; rozšiřuje Forms2OleControl přímo

Viz také:

 Čeština