Re[2]: sdi и invalidate
От: Аноним  
Дата: 03.05.02 02:39
Оценка:
Здравствуйте Bell, Вы писали:

B>Здравствуйте Scvorcov Dmitriy, Вы писали:


SD>>Есть SDI интерфейс и в нем диалог, когда в диалоге я вожу slider нужно чтобы в это время выполнялся OnDraw в SDI, как правильно это сделать?


SD>>Сейчас использую Invalidate для главного окна, но появилась проблема — если слишком быстро водить slider то обновление замирает, т.е. почему-то приложение не ждет окончания OnDraw. Идеально было бы сделать какую-нибудь переменную которая обнулялась бы перед циклом а затем туда (уже после обработки OnDraw) заносилось бы какое-нибудь значение, но как это сделать. Полез было в WaitForSingleObject, но там дремучий лес. Help people!!!


B>Что-то я не совсем понял. Можно поподробнее о том,что за цикл, и куда нужно заносить значение?


Вот такой код стоит в диалоге:

DoImage();

CMainFrame* pAppFrame=(CMainFrame*)AfxGetApp()->m_pMainWnd;
pAppFrame->Invalidate(false);

А вот здесь нужно дождаться окончания pAppFrame->Invalidate(false), т.е. OnDraw в SDI.

По идее должно быть что-то типа:

state=1;
while(state); //state меняется в OnDraw на 0, после окончания обработки.
....

Но так не работает....
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.