MSG message;
if(PeekMessage(&message, NULL, 0, 0, PM_REMOVE))
{
TranslateMessage(&message);
DispatchMessage(&message);
}
Передача упр. винде
Подскажите пожалуйста что моно сотворить со следующей ситуацией.
Есть основной поток в котором цикл ожидания потока
так вот как сделать так пока цикл в основном потоке будет крудиться он передовал управление винде для ее нужд и не грузил проц.
я попробовал поставить Sleep(100) но все равно как то форма получаеться загруженной тоесть не дает ее двигать и не перерисовываеться.
Поможите Ых.
Спасиба.
Цитата:
Originally posted by Bigzone
Добрый день Дамы и Господа.
Подскажите пожалуйста что моно сотворить со следующей ситуацией.
Есть основной поток в котором цикл ожидания потока
так вот как сделать так пока цикл в основном потоке будет крудиться он передовал управление винде для ее нужд и не грузил проц.
я попробовал поставить Sleep(100) но все равно как то форма получаеться загруженной тоесть не дает ее двигать и не перерисовываеться.
Поможите Ых.
Спасиба.
Добрый день Дамы и Господа.
Подскажите пожалуйста что моно сотворить со следующей ситуацией.
Есть основной поток в котором цикл ожидания потока
так вот как сделать так пока цикл в основном потоке будет крудиться он передовал управление винде для ее нужд и не грузил проц.
я попробовал поставить Sleep(100) но все равно как то форма получаеться загруженной тоесть не дает ее двигать и не перерисовываеться.
Поможите Ых.
Спасиба.
Используй мьютексы, семафоры или тогда жди поток с помощью таймера.
Цитата:
Originally posted by Bigzone
Есть основной поток в котором цикл ожидания потока
Есть основной поток в котором цикл ожидания потока
В том что ты наз основным потоком циклов ожидания быть не должно. Д.б. только процедуры типа OnMyMessage(). Остальные потоки передают инф. в осн поток через SendMessage или PostMessage.
При таком раскладе все будет двигаться, перерисовываться и т.д.
Цитата:
Originally posted by dinasok51
В том что ты наз основным потоком циклов ожидания быть не должно. Д.б. только процедуры типа OnMyMessage(). Остальные потоки передают инф. в осн поток через SendMessage или PostMessage.
При таком раскладе все будет двигаться, перерисовываться и т.д.
В том что ты наз основным потоком циклов ожидания быть не должно. Д.б. только процедуры типа OnMyMessage(). Остальные потоки передают инф. в осн поток через SendMessage или PostMessage.
При таком раскладе все будет двигаться, перерисовываться и т.д.
Попробуй вставить
Код:
в цикл ожидания.
Цитата:
Originally posted by AndreySar
Попробуй вставить
в цикл ожидания.
Попробуй вставить
Код:
MSG message;
if(PeekMessage(&message, NULL, 0, 0, PM_REMOVE))
{
TranslateMessage(&message);
DispatchMessage(&message);
}
if(PeekMessage(&message, NULL, 0, 0, PM_REMOVE))
{
TranslateMessage(&message);
DispatchMessage(&message);
}
в цикл ожидания.
Одна строчка, добавленная в MESSAGE MAP сразу избавляет от всех проблем:
и цикл ожидания выкидывается и все связанные с ним ухищрения не нужны.
Цитата:
Originally posted by AndreySar
Попробуй вставить
в цикл ожидания.
Попробуй вставить
Код:
MSG message;
if(PeekMessage(&message, NULL, 0, 0, PM_REMOVE))
{
TranslateMessage(&message);
DispatchMessage(&message);
}
if(PeekMessage(&message, NULL, 0, 0, PM_REMOVE))
{
TranslateMessage(&message);
DispatchMessage(&message);
}
в цикл ожидания.
Спасиба всем большое. Но в этом ответе я нашел именно то что искал.