Блокировка выполнения при TrackPopupMenu()
- получение данных
- отображение некоторых геоместричесих фигур на экран
Я добавил обработчик OnContextMenu(), дабы при нажатии на правую кнопку мышки вывлазила менюшка. Всё ок, она вылазит через:
m_menu3.GetSubMenu(0)->TrackPopupMenu(TPM_RETURNCMD,cp.x,cp.y,this)
но проблема в том, что программа полностью приостанавливает своё выполнение, пока мы видим это меню :( Да, понятно, функция TrackPopupMenu() должна вернуть выбор пользователя, но мне жизненно важно, чтобы эта функция не блокировала выполненеие программы..
Есть идеи?
Выполнение программы в отдельном потоке (CreateThread).
Цитата: Ation
Выполнение программы в отдельном потоке (CreateThread).
Ну в отдельном потоке нельзя юзать UpdateData(), обновлять окошко и тд, что создаёт серьёзные нудобства... И один хрен, получится что данные в окне не обновить пока вызвана менюшка.
Неужели нет больше вариантов?
Цитата: nof
Ну в отдельном потоке нельзя юзать UpdateData(), обновлять окошко и тд, что создаёт серьёзные нудобства... И один хрен, получится что данные в окне не обновить пока вызвана менюшка.
Кто сказал??????
Все можно.
Цитата: Alexandoros
Кто сказал??????
Все можно.
Все можно.
Ну как, это факт. Даже дебаггер реагирует, когда используешь UpdateData() в отдельном потоке.
Тогда попробуй запустить TrackPopupMenu() в отдельном потоке.