Tipos de Controle ActiveX Legado (Forms 2.0)

Tipos de Controle ActiveX Legado (Forms 2.0)

Tipos de Controle Legado ActiveX (Forms 2.0)

Trabalhando com Objetos OLE e Conteúdo Incorporado cobre como acessar um controle ActiveX do Microsoft Forms 2.0 incorporado através de OleFormat.OleControl e convertê-lo para o abstrato Forms2OleControl classe base. Aspose.Words FOSS para .NET também expõe cinco subclasses fortemente tipadas para os tipos específicos de controle que o Word suporta – CheckBoxControl, OptionButtonControl, TextBoxControl, CommandButtonControl, e MorphDataControl – cada um no Aspose.Words.Drawing.Ole namespace, adicionando um membro específico de controle além das propriedades Forms2OleControl já fornece (Caption, Value, Enabled, Type, GroupName, ForeColor, BackColor, Width, Height, Name, ChildNodes).


CheckBoxControl e OptionButtonControl

CheckBoxControl estende MorphDataControl e adiciona Checked (um bool) para o estado ligado/desligado do controle. OptionButtonControl também estende MorphDataControl e adiciona Selected (um bool) – usado para um conjunto de botões de opção mutuamente exclusivos que compartilham o mesmo GroupName.


TextBoxControl

TextBoxControl estende MorphDataControl e adiciona Text (um string), o texto exibido e editável do controle.


CommandButtonControl

CommandButtonControl estende Forms2OleControl diretamente (não MorphDataControl) e tem seu próprio construtor. Representa um botão que executa uma macro quando clicado no Word, com o rótulo do botão exposto através da propriedade herdada Caption.


MorphDataControl: a Base Compartilhada para Controles de Entrada de Dados

MorphDataControl é uma base agregada para seis tipos de controle relacionados — caixa de seleção, caixa de combinação, caixa de lista, botão de opção, caixa de texto e botão de alternância. CheckBoxControl, OptionButtonControl e TextBoxControl cada um a estende, herdando seus membros e adicionando uma propriedade específica de tipo própria.


Dicas e Melhores Práticas

  • Leia Forms2OleControl.Type (um valor Forms2OleControlType) para identificar um controle antes de convertê-lo para uma das subclasses específicas — nem todo Forms2OleControl é uma das cinco subclasses fortemente tipadas abordadas aqui.
  • Use GroupName para associar várias instâncias de OptionButtonControl em um conjunto mutuamente exclusivo, correspondendo à forma como o Word agrupa botões de opção.
  • Acesse controles aninhados dentro de um quadro ou contêiner de várias páginas através do ChildNodes herdado (um Forms2OleControlCollection), independentemente de qual subclasse o contêiner seja.

Problemas Comuns

ProblemaCausaCorreção
Fazer cast de um Forms2OleControl para CheckBoxControl lança um InvalidCastExceptionO controle é de um tipo diferente de controle Forms 2.0 (por exemplo, um TextBoxControl ou OptionButtonControl)Verifique Forms2OleControl.Type antes de fazer cast para uma subclasse específica
OptionButtonControl.Selected não se comporta como mutuamente exclusivo com controles irmãosOs controles não compartilham o mesmo GroupNameDefina o mesmo valor de GroupName em cada OptionButtonControl do conjunto
CommandButtonControl.Caption está vazioA legenda do botão vem do Forms2OleControl.Caption herdado, não de uma propriedade específica de CommandButtonControlLeia Caption, não um membro inexistente exclusivo de CommandButtonControl

FAQ

Como saber qual classe de controle tipada fortemente um Forms2OleControl realmente é?

Leia sua propriedade Type (Forms2OleControlType) ou tente um cast para a subclasse específica que você espera, como CheckBoxControl ou TextBoxControl.

Qual é a diferença entre MorphDataControl e Forms2OleControl?

Forms2OleControl é a base abstrata para todo controle Forms 2.0. MorphDataControl é uma base abstrata mais específica, que por sua vez estende Forms2OleControl, compartilhada pelos tipos de controle caixa de seleção, caixa de combinação, caixa de lista, botão de opção, caixa de texto e botão de alternância.

Como leio o estado marcado de um controle de caixa de seleção?

Faça o cast do Forms2OleControl para CheckBoxControl e leia sua propriedade Checked.

O CommandButtonControl estende MorphDataControl como os demais?

Não – CommandButtonControl estende Forms2OleControl diretamente, pois um botão de comando não é um controle de entrada de dados.


API Reference Resumo

ClasseDescrição
MorphDataControlBase abstrata para controles de checkbox, combo box, list box, option button, text box e toggle button
CheckBoxControlControle de caixa de seleção; estende MorphDataControl; adiciona Checked
OptionButtonControlControle de botão de opção; estende MorphDataControl; adiciona Selected
TextBoxControlControle de caixa de texto; estende MorphDataControl; adiciona Text
CommandButtonControlControle de botão de comando; estende Forms2OleControl diretamente

Ver também

 Português