| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Как очистить очередь системных сообщений в VC |
| Автор: SlavaZd 3.12.2003, 18:11 |
| Это требуется при следующей ситуации. По нажатии на кнопку программа занимает проц на 100% на несколько секунд, в это время пользователь снова нажимает на кнопку (её задизаблить нельзя). Сообщения о нажатии передаются программе, а они уже не нужны. |
| Автор: mr.DUDA 5.12.2003, 00:04 |
| 1) субклассируй кнопку на свой оконный класс 2) PreTranslateMessage, вылавливай WM_COMMAND и дави на корню |
| Автор: SlavaZd 5.12.2003, 10:51 |
| Как оказалось можно это сделать проще. После окончания работы функции, занимающей проц на 100%, надо просто поставить if(GetInputState()) { while(PeekMessage(&msg,NULL,WM_MOUSEFIRST ,WM_MOUSELAST ,PM_REMOVE));// чистит нажатия на мышь while(PeekMessage(&msg,NULL,WM_KEYFIRST ,WM_KEYLAST ,PM_REMOVE)); // чистит нажатия на клаву } |