Как динамически ассоциировать команду с пунктом меню?
От: MNZ Россия  
Дата: 23.09.04 07:26
Оценка:
Приложение на WTL, используется CommandBarCtrl. При расширении приложения плагинами будут добавляться новые пункты в главное меню. Каким образом лучше ассоциировать пункт меню с объектом команды? Неплохой способ — это занести ссылку на объект в поле dwData пункта меню, но в CommandBar оно уже используется для внутренних целей. Но даже если так, до выбранного пункта никак не достучаться из сообщения WM_COMMAND. Известен только ID команды.

Видится способ хранения хеша "ID -> объект команды" в классе главного окна и искать в нём запись при поступлении команды. Но такой способ не кажется мне гибким и надёжным вследствие ограничений на ID (ограниченное множество, дочерние окна... и т.д. и т.п.) и необходимости разруливать эти самые ID при добавлении/удалении команд.

Как реализуется подобное на уровне API? Как реализуют подобную функциональность коллеги? Спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.