Вы явно присваиваете значения членам каждого enum
?Как идентификаторы меню соответствуют идентификаторам окон?Можете ли вы опубликовать часть перечислений в качестве примера?
Если enums
длинны, это может быть хорошим кандидатом для скрипта генерации кода.Сохраните свои идентификаторы в (например) CSV-файле, в котором перечислены совпадающие пары идентификаторов окон и идентификаторов меню.Затем напишите скрипт, который анализирует файл CSV и генерирует заголовок, содержащий соответствующие определения enum
.Если вы строите свой проект с использованием make-файлов (или аналогичных), то будет достаточно просто интегрировать этот тип автоматически сгенерированного заголовка в вашу систему сборки.