MFC C ++程序

时间:2016-03-16 02:42:07

标签: c++ visual-studio mfc mouseevent onpaint

我有两个函数 - 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);
}

但是,除非OnPaint()中的'for loop'没有完成,否则不会发生单击鼠标事件。

我希望for循环继续,同时点击鼠标应该不会中断for循环。

如何进行更改或添加以获得结果?

编辑:为什么for循环? 在draw1()&amp; draw2(),我正在分别读取两个YUV文件的第一帧,转换为位图,然后将其绘制为DC。我在1秒后切换2个位图。例如,像屏幕保护程序。因此for循环。

2 个答案:

答案 0 :(得分:0)

您尚未初始化变量。

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

初始化变量

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

答案 1 :(得分:-1)

多任务。

我在onPaint() - AfxBeginThread(Process, this, THREAD_PRIORITY_NORMAL, 0, 0, NULL);

中启动了一个帖子

在Process()中 - 称为for循环函数。

现在正在运作。

谢谢。