Офисное программирование | страница 49
Чтобы изменения Value были видны пользователю, счетчик надо связать с полем ввода или с меткой в процедуре обработки события Change, так же как для полосы прокрутки.
Пример 27. Создать форму, содержащую два элемента spinbutton, два текстовых поля и кнопку, выводящую результат вычисления в метку на форме. Программно отражать значения в текстовых полях формы при движении бегунка. После нажатия на кнопке «Вычислить» программа считывает значения с текстовых полей, переводит эти значения в числовые и перемножает. Результат вычисления отражается в соответствующей метке на форме.
Технология выполнения
1. Активизируйте приложение Word и сохраните документ.
2. Перейдите в редактор VBA и создайте форму (рис. 57).
Рис. 57. Форма примера 27 в режиме конструктора и в рабочем режиме
3. Обработайте элементы SpinButton и кнопку «Вычислить».
Dim a, b, c As Integer
Private Sub CommandButton1_Click()
c = a * b
Label4.Caption = «Произведение с =» & c
End Sub
Private Sub SpinButton1_Change()
TextBox1.Text = SpinButton1.Value
a = Val(TextBox1.Text)
End Sub
Private Sub SpinButton2_Change()
TextBox2.Text = SpinButton2.Value
b = Val(TextBox2.Text)
End Sub
4. Откомпилируйте программу и запустите форму на выполнение.
4.4. Объект DataObject[3]
Этот объект не является элементом управления, но участвует в операциях перетаскивания выделенных текстов из одного элемента управления в другой. В нем одновременно могут храниться несколько текстовых данных в разных форматах. Когда в DataObject помещается новый текст с имеющимся в нем форматом, то прежний текст с этим форматом заменяется на новый.
Поведение DataObject похоже на поведение буфера обмена. Однако DataObject существует только в момент работы приложения и исчезает после ее завершения, а данные в буфере обмена при этом не теряются, DataObject может хранить только текстовые данные, а буфер обмена – и графические. С другой стороны, DataObject – настоящий OLE-объект и поддерживает, в отличие от буфера обмена, операции перетаскивания текста.
Текст заносится в DataObject методом SetText, а извлекается оттуда методом GetText:
объект. SetText(StoreData [, format])
и
Строка = объект. GetText([format]),
где объект – объект – владелец метода;
StoreData – текст, который надо запомнить в объекте;
format – это необязательный параметр, задающий «формат» данных (1 соответствует стандартному текстовому формату, а другие числа и строки соответствуют пользовательским форматам).