Types de contrôle ActiveX (Forms 2.0) hérités

Types de contrôle ActiveX (Forms 2.0) hérités

Types de contrôle hérités ActiveX (Forms 2.0)

Travailler avec les objets OLE et le contenu intégré couvre comment atteindre un contrôle ActiveX Microsoft Forms 2.0 intégré via OleFormat.OleControl et le convertir en type abstrait Forms2OleControl classe de base. Aspose.Words FOSS pour .NET expose également cinq sous-classes fortement typées pour les types de contrôles spécifiques pris en charge par Word — CheckBoxControl, OptionButtonControl, TextBoxControl, CommandButtonControl, et MorphDataControl – chacun dans le Aspose.Words.Drawing.Ole namespace, ajout d’un membre spécifique au contrôle en plus des propriétés Forms2OleControl fournit déjà (Caption, Value, Enabled, Type, GroupName, ForeColor, BackColor, Width, Height, Name, ChildNodes).


CheckBoxControl et OptionButtonControl

CheckBoxControl étend MorphDataControl et ajoute Checked (un bool) pour l’état activé/désactivé du contrôle. OptionButtonControl étend également MorphDataControl et ajoute Selected (un bool) — utilisé pour un ensemble de boutons d’option mutuellement exclusifs qui partagent le même GroupName.


TextBoxControl

TextBoxControl étend MorphDataControl et ajoute Text (un string), le texte affiché et modifiable du contrôle.


CommandButtonControl

CommandButtonControl étend Forms2OleControl directement (et non MorphDataControl) et possède son propre constructeur. Il représente un bouton qui exécute une macro lorsqu’il est cliqué dans Word, avec son libellé de bouton exposé via la propriété héritée Caption.


MorphDataControl: la base partagée pour les contrôles de saisie de données

MorphDataControl est une base agrégée pour six types de contrôles liés – case à cocher, zone combinée, zone de liste, bouton d’option, zone de texte et bouton bascule. CheckBoxControl, OptionButtonControl et TextBoxControl l’étendent chacun, héritant de ses membres et ajoutant une propriété propre à leur type.


Conseils et bonnes pratiques

  • Lisez Forms2OleControl.Type (une valeur Forms2OleControlType) pour identifier un contrôle avant de le convertir en l’une des sous-classes spécifiques – tous les Forms2OleControl ne sont pas parmi les cinq sous-classes fortement typées présentées ici.
  • Utilisez GroupName pour associer plusieurs instances de OptionButtonControl en un ensemble mutuellement exclusif, conformément à la façon dont Word regroupe les boutons d’option.
  • Accédez aux contrôles imbriqués à l’intérieur d’un cadre ou d’un conteneur multipage via le ChildNodes hérité (un Forms2OleControlCollection), quel que soit le type de sous-classe du conteneur.

Problèmes courants

ProblèmeCauseCorrection
Le casting d’un Forms2OleControl vers CheckBoxControl lève une InvalidCastExceptionLe contrôle est d’un type de contrôle Forms 2.0 différent (par exemple un TextBoxControl ou un OptionButtonControl)Vérifiez Forms2OleControl.Type avant de caster vers une sous-classe spécifique
OptionButtonControl.Selected n’est pas mutuellement exclusif avec les contrôles frèresLes contrôles ne partagent pas le même GroupNameDéfinissez la même valeur GroupName sur chaque OptionButtonControl de l’ensemble
CommandButtonControl.Caption est videLa légende du bouton provient du Forms2OleControl.Caption hérité, et non d’une propriété spécifique à CommandButtonControlLisez Caption, pas un membre CommandButtonControl inexistant

FAQ

Comment savoir à quelle classe de contrôle fortement typée un Forms2OleControl appartient réellement?

Lisez sa propriété Type (Forms2OleControlType) ou essayez un transtypage vers la sous-classe spécifique que vous attendez, comme CheckBoxControl ou TextBoxControl.

Quelle est la différence entre MorphDataControl et Forms2OleControl?

Forms2OleControl est la base abstraite de chaque contrôle Forms 2.0. MorphDataControl est une base abstraite plus spécifique, elle-même dérivée de Forms2OleControl, partagée par les types de contrôle case à cocher, boîte combinée, boîte de liste, bouton d’option, zone de texte et bouton bascule.

Comment lire l’état coché d’un contrôle case à cocher?

Transtypez le Forms2OleControl en CheckBoxControl et lisez sa propriété Checked.

Est-ce que CommandButtonControl étend MorphDataControl comme les autres?

Non – CommandButtonControl étend Forms2OleControl directement, car un bouton de commande n’est pas un contrôle de saisie de données.


API Reference Résumé

ClasseDescription
MorphDataControlBase abstraite pour les contrôles checkbox, combo box, list box, option button, text box et toggle button
CheckBoxControlContrôle de case à cocher; étend MorphDataControl; ajoute Checked
OptionButtonControlContrôle de bouton d’option; étend MorphDataControl; ajoute Selected
TextBoxControlContrôle de zone de texte; étend MorphDataControl; ajoute Text
CommandButtonControlContrôle de bouton de commande; étend Forms2OleControl directement

Voir aussi

 Français