Описание пользователя
Глава 3. Использование стандартных модулей автокомпиляции
§3.7. Краткий перечень вводимых в модель описаний и реакций на события
§3.7.11. Прочие реакции
§3.7.11.7. Выбор пункта меню
Это событие возникает при выборе пользователем пункта, добавленного моделью в контекстное меню блока или системное меню RDS. Примеры моделей, добавляющих свои пункты в контекстное и системное меню, приведены в §3.6.12.
Текст реакции на это событие вводится на вкладке «» левой панели редактора модели: раздел «», подраздел «». В классе блока для нее создается функция с именем rdsbcppMenuFunc следующего вида:
// Block menu item selection void rdsbcppBlockClass::rdsbcppMenuFunc(RDS_PMENUFUNCDATA MenuData) { … пользовательский текст реакции … }
Параметр функции MenuData – это указатель на структуру RDS_MENUFUNCDATA, содержащую идентификаторы, присвоенные моделью выбранному пункту меню при его создании:
typedef struct {
int Function; // Номер функции меню
int MenuData; // Данные меню
} RDS_MENUFUNCDATA;
typedef RDS_MENUFUNCDATA *RDS_PMENUFUNCDATA;
Поля структуры имеют следующий смысл:
- Function (int)
- Идентификатор выбранного пользователем пункта меню, указанный при его создании.
- MenuData (int)
- Дополнительное целое число, указанное при создании выбранного пункта меню.
При написании моделей блоков без использования модуля автокомпиляции выбору пункта меню соответствует константа RDS RDS_BFM_MENUFUNCTION.