Типи застарілих ActiveX (Forms 2.0) елементів керування

Типи застарілих ActiveX (Forms 2.0) елементів керування

Застарілі ActiveX (Forms 2.0) типи елементів керування

Робота з OLE-об’єктами та вбудованим вмістом покриває, як отримати доступ до вбудованого керування Microsoft Forms 2.0 ActiveX через OleFormat.OleControl і привести його до абстрактного Forms2OleControl базового класу. Aspose.Words FOSS для .NET також надає п’ять суворо типізованих підкласів для конкретних типів керувань, які підтримує Word – CheckBoxControl, OptionButtonControl, TextBoxControl, CommandButtonControl, і MorphDataControl – кожен у Aspose.Words.Drawing.Ole простір імен, додавання одного специфічного для елемента управління члена поверх властивостей Forms2OleControl вже надає (Caption, Value, Enabled, Type, GroupName, ForeColor, BackColor, Width, Height, Name, ChildNodes).


CheckBoxControl і OptionButtonControl

CheckBoxControl розширює MorphDataControl і додає Checked ( bool) для стану увімкнено/вимкнено елемента керування. OptionButtonControl також розширює MorphDataControl і додає Selected ( bool) – використовується для набору взаємно виключних кнопок-опцій, які діляться одним GroupName.


TextBoxControl

TextBoxControl розширює MorphDataControl і додає Text ( string), відображений та редагований текст елемента керування.


CommandButtonControl

CommandButtonControl розширює Forms2OleControl безпосередньо (не MorphDataControl) і має власний конструктор. Він представляє кнопку, яка запускає макрос при натисканні в Word, причому підпис кнопки доступний через успадковану властивість Caption.


MorphDataControl: спільна база для елементів управління введенням даних

MorphDataControl є агрегатною базою для шести пов’язаних типів елементів управління — прапорець, комбінований список, список, перемикач-опція, текстове поле та кнопку-перемикач. CheckBoxControl, OptionButtonControl та TextBoxControl кожен розширює її, успадковуючи її члени та додаючи одну специфічну для типу властивість.


Поради та найкращі практики

  • Прочитайте Forms2OleControl.Type (значення Forms2OleControlType), щоб ідентифікувати елемент управління перед приведенням його до одного з конкретних підкласів — не кожен Forms2OleControl є одним із п’яти строго типізованих підкласів, розглянутих тут.
  • Використовуйте GroupName, щоб об’єднати кілька екземплярів OptionButtonControl в один взаємно виключний набір, відповідно до того, як Word групує кнопки-опції.
  • Доступайте до вкладених елементів управління всередині рамки або багатосторінкового контейнера через успадкований ChildNodes (a Forms2OleControlCollection), незалежно від того, яким підкласом є контейнер.

Типові проблеми

ПроблемаПричинаВиправлення
Приведення Forms2OleControl до CheckBoxControl викликає InvalidCastExceptionЕлемент управління належить до іншого типу Forms 2.0 (наприклад, TextBoxControl або OptionButtonControl)Перевірте Forms2OleControl.Type перед приведенням до конкретного підкласу
OptionButtonControl.Selected не працює як взаємовиключний з сусідніми елементами керуванняКонтролі не мають спільного GroupNameВстановіть однакове значення GroupName для кожного OptionButtonControl у наборі
CommandButtonControl.Caption порожнійПідпис кнопки береться з успадкованого Forms2OleControl.Caption, а не зі специфічної для CommandButtonControl властивостіЧитайте Caption, а не неіснуючий член, доступний лише у CommandButtonControl

FAQ

Як я можу дізнатися, до якого строго типізованого класу керування належить Forms2OleControl?

Прочитайте його властивість Type (Forms2OleControlType) або спробуйте привести його до конкретного підкласу, який ви очікуєте, наприклад CheckBoxControl або TextBoxControl.

У чому різниця між MorphDataControl і Forms2OleControl?

Forms2OleControl — це абстрактна база для кожного керування Forms 2.0. MorphDataControl — більш специфічна абстрактна база, яка сама розширює Forms2OleControl, спільна для типів керувань: checkbox, combo box, list box, option button, text box та toggle button.

Як зчитати стан відмітки у елементі керування checkbox?

Приведіть Forms2OleControl до CheckBoxControl і прочитайте його властивість Checked.

Чи розширює CommandButtonControl MorphDataControl, як інші?

Ні – CommandButtonControl не розширює Forms2OleControl безпосередньо, оскільки кнопка команди не є елементом введення даних.


API Reference Підсумок

КласОпис
MorphDataControlАбстрактна базова для елементів керування: checkbox, combo box, list box, option button, text box і toggle button
CheckBoxControlКонтроль чекбокса; розширює MorphDataControl; додає Checked
OptionButtonControlКонтроль кнопки опції; розширює MorphDataControl; додає Selected
TextBoxControlКонтроль текстового поля; розширює MorphDataControl; додає Text
CommandButtonControlКонтроль кнопки команди; розширює Forms2OleControl безпосередньо

Дивіться також

 Українська