Описание пользователя
Глава 3. Использование стандартных модулей автокомпиляции
§3.7. Краткий перечень вводимых в модель описаний и реакций на события
§3.7.9. Внешний вид блока
§3.7.9.2. Проверка изменения размера блока
Это событие возникает в блоке, который программно рисует свое изображение, а также у блоков, изображаемых прямоугольником с текстом, в процессе изменения размеров блока пользователем, когда последний перетаскивает мышью маркеры выделения блока. Каждое движение курсора мыши в процессе этого перетаскивания порождает одно такое событие. Реакция на него чаще всего используется для вмешательства модели в изменение размера: если модель в реакции на это событие скорректирует поля newWidth и newHeight структуры RDS_RESIZEDATA, которая передается в реакцию, это немедленно отразится на размере прямоугольника, который пользователь видит при перетаскивании маркеров выделения. Пример модели, реагирующей на это событие, приведен в §3.6.5.
Текст реакции на событие проверки допустимости изменения размера вводится на вкладке «» левой панели редактора модели: раздел «», подраздел «». В классе блока для нее создается функция с именем rdsbcppResizing следующего вида:
// Block size is changing
void rdsbcppBlockClass::rdsbcppResizing(
RDS_PRESIZEDATA ResizeData,int &Result)
{
… пользовательский текст реакции …
}
У этой функции два параметра, в точности совпадающих с параметрами функции реакции на событие окончательного изменения размера, и имеющих тот же смысл. При написании моделей блоков без использования модуля автокомпиляции событию проверки изменения размера блока соответствует константа RDS_BFM_RESIZING.