ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
19 июля
16513 Топик полностью
Sla (11.11.2004 10:51, просмотров: 1) ответил Сергей Борщ на Самое простое
Спасибо, проблема решена несколько иначе. Этот способ не устраивает, т.к. придется тупо дублировать описание элементов меню. Нет, скопировать-то файл, поменяв его имя, несложно. Просто потом при внесении изменения в элемент меню придется лазать уже в два файла и делать там одно и тоже (например, поменять диапазоны числовых параметров). А еще можно просто забыть внести соответствующее изменение в один из файлов, а потом долго искать ошибку в программе. В итоге был создан макрос, в который передаются и русское наименование, и английское: //------------------------------------ // макрос создания имени меню #ifdef IN_ENGLISH // для англоязычного меню #define MAKE_NAME( name, item_name, e_item_name )\ c8 CODE_MEM name##_item_name[] = { e_item_name }; #else // для русскоязычного меню #define MAKE_NAME( name, item_name, e_item_name )\ c8 CODE_MEM name##_item_name[] = { item_name }; #endif //------------------------------ А этот макрос уже вызывается из макросов инициализации элементов меню (там их несколько разных: подменю, числовое значение, ВКЛ/ВЫКЛ и т.д.)