Текущий раздел:

Описания RDS

Приложения

Приложение А. Функции, константы и структуры RDS

А.2. События блока и связанные с ними описания

А.2.7. События, связанные с изменением схемы пользователем

А.2.7.2. RDS_BFM_MANUALINSERT – вставка блока пользователем

# Приложения

## Приложение А. Функции, константы и структуры RDS

### А.2. События блока и связанные с ними описания

#### А.2.7. События, связанные с изменением схемы пользователем

##### А.2.7.2. RDS_BFM_MANUALINSERT – вставка блока пользователем

Поток, в котором вызывается функция модели

Главный поток RDS.

Первый параметр функции модели (int CallMode)

Константа RDS_BFM_MANUALINSERT.

Третий параметр функции модели (void *ExtParam)

Указатель на структуру описания события RDS_MANUALINSERTDATA.

Возвращаемое функцией модели значение

Не используется, можно возвращать любое значение.

Примечания

Событие RDS_BFM_MANUALINSERT возникает после того, как данный блок помещен в схему пользователем при помощи вставки из буфера обмена, загрузки из отдельного файла, добавления из библиотеки или с панели блоков. Если блок добавлен в схему сервисной функцией, это событие не возникает. Если в схему вставляется подсистема, содержащая другие блоки, реакция на событие RDS_BFM_MANUALINSERT вызывается только у самой подсистемы, а внутренние блоки информацию о событии не получают. Реакция на это событие может использоваться, например, для автоматического открытия окна настройки блока при его вставке из библиотеки (см. §2.12.8 руководства программиста).

В параметре ExtParam передается указатель на структуру RDS_MANUALINSERTDATA, описывающую событие:

      typedef struct {
        RDSINT32 Reason; // Способ добавления (константа RDS_LS_*)
        BOOL Single;     // Добавлен только один блок
      } RDS_MANUALINSERTDATA;
      typedef RDS_MANUALINSERTDATA *RDS_PMANUALINSERTDATA;

Поля структуры

Reason(RDSINT32)
  Одна из двух стандартных констант, указывающих на способ добавления блока в схему (эти же константы возвращаются при вызове сервисной функции rdsGetSystemInt с параметром RDS_GSISAVELOADACTION):

  RDS_LS_LOADCLIPBRD | Блок вставлен из буфера обмена.
  RDS_LS_LOADFROMFILE | Блок вставлен из библиотеки, с панели блоков или загружен из отдельного файла.

Single(BOOL)
  TRUE, если в схему вставлен только один блок, и FALSE, если вставлено сразу несколько блоков (например, группа блоков из буфера обмена).

См. также

RDS_BFM_INIT, RDS_BFM_LOADTXT, RDS_BFM_LOADBIN.