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

Описания RDS

Описание пользователя

Глава 3. Использование стандартных модулей автокомпиляции

§3.7. Краткий перечень вводимых в модель описаний и реакций на события

§3.7.4. Реакции блока на мышь и клавиатуру

§3.7.4.4. Перемещение курсора мыши

# Описание пользователя

## Глава 3. Использование стандартных модулей автокомпиляции

### §3.7. Краткий перечень вводимых в модель описаний и реакций на события

#### §3.7.4. Реакции блока на мышь и клавиатуру

##### §3.7.4.4. Перемещение курсора мыши

Это событие возникает в режимах моделирования и расчета при перемещении курсора мыши в пределах изображения блока, если этот блок находится на видимом слое, редактирование которого разрешено, и в параметрах этого блока разрешена реакция на мышь (см. рис. 452). По умолчанию событие возникает только тогда, когда в момент перемещения курсора какая-либо из кнопок мыши нажата. Если модель должна обрабатывать перемещения курсора даже если ни одна кнопка не нажата, в параметрах блока должен быть включен дополнительный флажок «блок реагирует на движения мыши без нажатия кнопок» (см. там же на рис. 452).

Реакция на перемещение курсора вводится на вкладке «события» левой панели редактора модели: раздел «мышь и клавиатура», подраздел «перемещение мыши» (см. рис. 451). Чаще всего она используется в моделях блоков, имитирующих различные рукоятки.

В классе блока для этого события создается функция с именем rdsbcppMouseMove следующего вида:

      // Mouse moved
      void rdsbcppBlockClass::rdsbcppMouseMove(
                                RDS_PMOUSEDATA MouseData,int &Result)
      {
         … пользовательский текст реакции …
      }

Параметры функции полностью аналогичны параметрам функции реакции на нажатие кнопки мыши, подробно описанным §3.7.4.1.

Пример реакции на это событие приведен в §3.6.11. При написании моделей блоков без использования модуля автокомпиляции перемещению курсора мыши соответствует константа RDS RDS_BFM_MOUSEMOVE.