| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Visual C++/MFC/WTL > ToolBar |
| Автор: ASMerg 12.10.2007, 21:23 |
| Всем здрасти! Такой вопросец... Имеется тулбар, в нем кнопочки, у них у всех есть OnUpdate обработчики... Так вот вопрос в том, как мне в нужный момент этот обработчик правильно вызвать? Допустим есть кнопка, и в ней выполняется какой-то ОЧЕНЬ длительный процесс в течение которого я хотел бы заблокировать саму эту кнопку, и еще парочку соседних. Проблема в том что обработчики эти(что в общем не удивительно) во время выполнения этого самого длительного процесса не вызываются. UpdateAllViews(NULL) - не помогает. А в меню самое главное эквивалентные команды блокирутся нормально именно когда мне нужно! Вот склепал для демонстрации http://www.avcont.ru/files/tool.rar. |
| Автор: Earnest 13.10.2007, 18:38 |
| Обработчики OnUpdate вызываются в холостом цикле - в самом его начале, т.е. сразу после того, как очередь событий опустеет. Нет событий - нет холостого цикла. Так что самый простой способ - генерировать какие-нибудь события, любые, например, поставить таймер. С меню разница в том, что обработчики OnUpdate вызываются из InitMenuPopup при открытии меню... |