<i>Описание всех возможных событий Снегопата</i>

<b>События объекта Designer</b> - пример вызова events.connect(Designer, ИмяСобытия, SelfScript.self, [ИмяМетодаОбработчика = ""])
  *    onExitApp() - без параметров
  *    onLoadAddin(addin)
  *    onUnLoadAddin(addin)
  *    beforeExitApp() - без параметров
  *    onSelectFile(selectFileData) - ISelectFileData
  *    onIdle() - без параметров
  *    createTextWindow(textWnd)

<b>События объекта windows</b> - пример вызова events.connect(snegopat, ИмяСобытия, SelfScript.self, [ИмяМетодаОбработчика = ""])
  *    onProcessTemplate(params)

<b>События объекта windows</b> - пример вызова events.connect(windows, ИмяСобытия, SelfScript.self, [ИмяМетодаОбработчика = ""])
  *    onDoModal(dlgInfo)
  *    onMessageBox(param)
    <verbatim>Message(param.caption + " | " + param.text + " | " + param.type + " | " + param.timeout)
При отработке события перехват с MessageBox'а снимается, и в обработчике можно смело его вызывать, не боясь зацикливания. Например мы сами хотим узнать ответ пользователя и в зависимости от него выполнить какие-то действия
param.result = MessageBox(param.text, param.type, param.caption, param.timeout)
param.cancel = true</verbatim>

  *    onChangeTitles(param)

Пока можно найти описания всех событий путем поиска "events.connect" по папке скриптов (scripts и core)