2012-04-30 2 views
0

У меня есть элементы, которые я хочу открыть в контекстном меню. Проблема в том, что для генерации элементов требуется некоторое время. Поэтому, если мне нужно предварительно заполнить контекстное меню, я должен заполнить все 1500 элементов, которые требуют времени, даже если доступ к этому подменю подменю. Поэтому я ищу способ заполнить меню только в том случае, если он действительно открыт. Кто-нибудь знает как это сделать?Как я могу заполнить контекстное меню при загрузке?

+2

Вы, должно быть, шутите? Контекстное меню с 1500 элементами? Вы можете захотеть переосмыслить свой графический интерфейс перед тем, как ваши пользователи нападут на вас. – AJG85

+0

@ AJG85 1500 - максимальный размер дизайна. Ожидается, что в среднем ожидается около 5. Те 5, каждый из которых занимает примерно 0,2 секунды для загрузки (потому что они являются результатом проверки состояния на удаленном сервере), поэтому мне по-прежнему нужна нагрузка по требованию. – chacham15

+0

Я видел похожие контекстные меню, иногда просто нет выхода. Я бы предложил начать вспомогательную тему, которая инициализирует пункты меню. Если контекстное меню доступно и меню еще не загружено, пользователю просто нужно подождать. – demorge

ответ

0

Интерфейс IContextMenu2 отправляет сообщение WM_INITMENUPOPUP, которое позволяет вам заполнить пункты перед тем, как меню вот-вот появится.

Смежные вопросы