Tipos de control ActiveX heredado (Forms 2.0)

Tipos de control ActiveX heredado (Forms 2.0)

Tipos de control heredado ActiveX (Forms 2.0)

Trabajando con objetos OLE y contenido incrustado cubre cómo acceder a un control ActiveX de Microsoft Forms 2.0 incrustado a través de OleFormat.OleControl y convertirlo a la clase abstracta Forms2OleControl clase base. Aspose.Words FOSS para .NET también expone cinco subclases fuertemente tipadas para los tipos específicos de control que Word admite – CheckBoxControl, OptionButtonControl, TextBoxControl, CommandButtonControl, y MorphDataControl – cada una en el Aspose.Words.Drawing.Ole namespace, añadiendo un miembro específico del control encima de las propiedades Forms2OleControl ya proporciona (Caption, Value, Enabled, Type, GroupName, ForeColor, BackColor, Width, Height, Name, ChildNodes).


CheckBoxControl y OptionButtonControl

CheckBoxControl extiende MorphDataControl y añade Checked (un bool) para el estado de encendido/apagado del control. OptionButtonControl también extiende MorphDataControl y añade Selected (un bool) – usado para un conjunto de botones de opción mutuamente excluyentes que comparten el mismo GroupName.


TextBoxControl

TextBoxControl extiende MorphDataControl y añade Text (un string), el texto mostrado y editable del control.


CommandButtonControl

CommandButtonControl extiende Forms2OleControl directamente (no MorphDataControl) y tiene su propio constructor. Representa un botón que ejecuta una macro al hacer clic en Word, con la etiqueta del botón expuesta a través de la propiedad heredada Caption.


MorphDataControl: la Base Compartida para Controles de Entrada de Datos

MorphDataControl es una base agregada para seis tipos de controles relacionados – casilla de verificación, cuadro combinado, cuadro de lista, botón de opción, cuadro de texto y botón de alternar. CheckBoxControl, OptionButtonControl y TextBoxControl cada uno lo extienden, heredando sus miembros y añadiendo una propiedad específica de tipo propia.


Consejos y Mejores Prácticas

  • Lea Forms2OleControl.Type (un valor Forms2OleControlType) para identificar un control antes de convertirlo a una de las subclases específicas – no cada Forms2OleControl es una de las cinco subclases fuertemente tipadas cubiertas aquí.
  • Utilice GroupName para asociar varias instancias de OptionButtonControl en un conjunto mutuamente excluyente, coincidiendo con la forma en que Word agrupa los botones de opción.
  • Acceda a los controles anidados dentro de un marco o contenedor multipágina mediante el ChildNodes heredado (un Forms2OleControlCollection), sin importar a qué subclase pertenezca el contenedor.

Problemas Comunes

ProblemaCausaCorrección
Convertir un Forms2OleControl a CheckBoxControl lanza un InvalidCastExceptionEl control es de un tipo diferente de control Forms 2.0 (por ejemplo, un TextBoxControl o OptionButtonControl)Verifique Forms2OleControl.Type antes de convertir a una subclase específica
OptionButtonControl.Selected no se comporta como mutuamente excluyente con los controles hermanosLos controles no comparten el mismo GroupNameEstablezca el mismo valor de GroupName en cada OptionButtonControl del conjunto
CommandButtonControl.Caption está vacíoEl texto del botón proviene del Forms2OleControl.Caption heredado, no de una propiedad específica de CommandButtonControlLea Caption, no un miembro inexistente solo de CommandButtonControl

FAQ

¿Cómo sé qué clase de control tipada fuertemente es realmente un Forms2OleControl?

Lea su propiedad Type (Forms2OleControlType) o intente un cast a la subclase específica que espera, como CheckBoxControl o TextBoxControl.

¿Cuál es la diferencia entre MorphDataControl y Forms2OleControl?

Forms2OleControl es la base abstracta para cada control de Forms 2.0. MorphDataControl es una base abstracta más específica, que a su vez extiende Forms2OleControl, compartida por los tipos de control de casilla de verificación, cuadro combinado, cuadro de lista, botón de opción, cuadro de texto y botón de alternancia.

¿Cómo leo el estado marcado de un control de casilla de verificación?

Haga cast del Forms2OleControl a CheckBoxControl y lea su propiedad Checked.

¿CommandButtonControl extiende MorphDataControl como los demás?

No – CommandButtonControl extiende Forms2OleControl directamente, ya que un botón de comando no es un control de entrada de datos.


API Reference Resumen

ClaseDescripción
MorphDataControlBase abstracta para checkbox, combo box, list box, option button, text box y toggle button controls
CheckBoxControlControl de casilla de verificación; extiende MorphDataControl; agrega Checked
OptionButtonControlControl de botón de opción; extiende MorphDataControl; agrega Selected
TextBoxControlControl de cuadro de texto; extiende MorphDataControl; agrega Text
CommandButtonControlControl de botón de comando; extiende Forms2OleControl directamente

Ver también

 Español