Навигация:
<< >> Оглавление Указатель

Приложения

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

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

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

А.2.7.4. RDS_BFM_MOVED – перемещение блока

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

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

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

Константа RDS_BFM_MOVED.

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

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

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

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

Примечания

Событие RDS_BFM_MOVED возникает при любом изменении положения блока на рабочем поле подсистемы: при его перетаскивании пользователем, при задании его координат, при вызове сервисной функции для перемещения блока и т.п. Реакция на это событие может применяться, например, для синхронного перемещения группы блоков при перемещении одного из них. В параметре ExtParam передается указатель на структуру RDS_MOVEDATA:

  typedef struct {
     MoveReason; // Причина перемещения
     OldX,OldY;  // Старые координаты точки привязки
     NewX,NewY;  // Новые координаты точки привязки
  } RDS_MOVEDATA;
  typedef RDS_MOVEDATA *RDS_PMOVEDATA;

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

MoveReason (RDSINT32)
Одна из стандартных констант, указывающих на причину изменения координат блока:
RDS_MR_SET Координаты блока установлены непосредственно: заданы пользователем в окне параметров, установлены сервисной функцией rdsMoveBlock и т.п.
RDS_MR_DRAG Блок «перетащен» мышью.
RDS_MR_KEYBOARD Выделенный в окне подсистемы блок перемещен нажатием курсорных клавиш.
RDS_MR_UNDOREDO Ранее выполненное перемещение блока отменено или повторено пользователем.
OldXOldY ()
Координаты точки привязки блока до перемещения в масштабе 100%. Для блоков с векторной картинкой точка привязки – это положение начала координат этой картинки, для программно рисуемых блоков и блоков, изображаемых прямоугольником с текстом, это координаты левого верхнего угла изображения. Горизонтальная ось координат направлена вправо, вертикальная – вниз, начало координат – левый верхний угол рабочего поля.
NewXNewY ()
Координаты точки привязки блока после перемещения в масштабе 100%.

См. также

rdsMoveBlock, rdsSetBlockRect.


<< >> Оглавление Указатель