





Вы хотите событие, когда ваше меню открыто? Используйте EVT_MENU_OPEN(func) (wxMenuEvent). Но это не совсем точно. Как сказано в документации, оно отправляется только один раз, если вы откроете меню. Для другого события вы должны закрыть его и снова открыть другое меню. То есть между ними вы можете открывать другие меню (наводя курсор на другие элементы в строке меню), и событие больше не будет отправлено.
Зачем тебе это нужно? Возможно, есть другой способ сделать это, вместо того, чтобы прислушиваться к событиям такого рода.
Если вам нужно событие для всех пунктов меню, используйте EVT_MENU_RANGE(id1, id2, func) (он использует wxCommandEvent). Все идентификаторы, начиная с id1 и заканчивая id2 включительно, будут связаны с данным обработчиком событий. Использование диапазона вместо подключения каждого элемента по отдельности обеспечит лучшую производительность, поскольку в списке обработчиков событий меньше элементов.
Спасибо большое, это помогает - иногда я с трудом читаю документацию.