Вход


Главная страница >> Учебный процесс >> Конспекты >> MS Office. Руководство программиста по Visual Basic для MS Office 97 >> Microsoft Office Assistant >> Использование сообщений Microsoft Office Assistant >> Использование процедур обратного вызова

Переход на главную страницу

Сервер поддерживается
кафедрой информатики и вычислительной техники ГрГУ
тел. +375-(0)152-445-101
E-mail :
kadan@grsu.grodno.by


[Назад]    [Содержание ]    [Вперед]

  


Использование процедур обратного вызова


Создавая немодальное сообщение, Вы должны указать в свойстве Callback имя процедуры обратного вызова. Такая процедура получает 3 параметра : объект Balloon, представляющий сообщение, из которого вызвана процедура; индекс ?нажатой? кнопочной надписи или кнопки; номер, используемый программами-мастерами для управления Помощником (если Вы не собираетесь создавать собственную программу-мастер, игнорируйте этот параметр). Вот пример корректного объявления процедуры обратного вызова (имена аргументов значения не имеют):

Sub MyCallback(bln As Balloon, btn As Long, priv As Long)


Примечание:
Указывая в свойстве Callback строку с именем процедуры обращайте внимание на контекст вызова этой процедуры. Составьте строку будто Вы вызываете процедуру непосредственно из своего кода. Например если Вы пишете код в модуле, а процедура обратного вызова находится в листе Microsoft Excel (Sheet1) того же проекта, занесите в свойство Callback строку ?Sheet1.MyCallback?.

В следующем примере на экране появляется сообщение, в котором перечислены имена трех принтеров. Процедура обратного вызова выполняет специфичный для конкретного принтера код и закрывает сообщение.

Sub TestCallback( )
     Set bln = Assistant. NewBalloon
     With bln
          .Mode = msoModeModeless
          .Callback = "ProcessPrinter"
          .Button = msoButtonSetNone
          .BalloonType = rnsoBalloonTypeButtons
          .Heading = "Select a Printer"
          .Labels(1).Text = "Network Printer"
          .Labels(2).Text = "Local Printer"
          .Labels(3).Text = "Local Color Printer"
          .Show
     End With
End Sub

Sub ProcessPrinter(bln As Balloon, ibtn As Long, iPriv As Long)
     Assistant.Animation =
msoAnimationPrinting
     Select Case ibtn
          Case 1
           ? код, специфичный для первого принтера
          Case 2
           ? код, специфичный для второго принтера
          Case 3
           ? код, специфичный для третьего принтера
     End Select
     bln.Close
End Sub



[Назад]    [Содержание ]    [Вперед]

  



Текст пособия подготовлен на основе материалов книги
Microsoft Corporation. Руководство программиста по Visual Basic для Microsoft Office 97 / Пер. с англ. - М.: Издательский отдел "Русская Редакция" ТОО "Channel Trading Ltd.", 1997. - 544 с.: илл.
c Оригинальное издание на английском языке,
Microsoft Corporation, 1997
c Русский перевод,
Microsoft Corporation, 1997

  
За содержание страницы отвечает Гончарова М.Н.
©
Кафедра СПиКБ, 2002-2017