Visual Studio — события OnPaint () и MouseMove одновременно в программе MFC C ++

У меня есть две функции — draw1 () и draw2 (), которые рисуют растровое изображение в DC. Мне нужно звонить им один за другим. Так что я делаю это в

void CDlg::OnPaint()
{
for(int i=0;i<10;i++)
{
draw1();
draw2();
}
}

Я также хочу добавить событие clickmouse, то есть, когда я нажимаю левую кнопку мыши, курсор должен исчезнуть. Так что я делаю это в

void CDlg::OnLButtonUp(UINT nFlags, CPoint point) {
ShowCursor(FALSE);
}

Но событие щелчка мыши не происходит, если только цикл for в OnPaint () не завершается.

Я хочу, чтобы цикл for продолжался, в то же время щелчок мыши должен происходить без прерывания цикла for.

Как я могу внести изменения или добавить, чтобы получить результат?

РЕДАКТИРОВАТЬ: Почему цикл?
В draw1 () & draw2 (), я читаю первый кадр из двух файлов YUV соответственно, преобразовываю в растровое изображение и затем рисую его в DC. Я переключаюсь между 2 растровыми изображениями через 1 сек. Например, скринсейвер. Отсюда цикл.

-1

Решение

Вы не инициализировали переменную.

for(int i=;i<10;i++)

инициализировать переменную

for(int i=0;i<10;i++)// initialize with any value
0

Другие решения

Многозадачность.

Я начал тему в onPaint () — AfxBeginThread(Process, this, THREAD_PRIORITY_NORMAL, 0, 0, NULL);

В Process () — вызывается функция цикла for.

Теперь это работает.

Спасибо.

-1

По вопросам рекламы [email protected]