一个关于AfxBeginThread的问题
我用VC2003.NET做了一个对话框界面的小应用程序,其中有个小问题是这样的:
界面上有三个按钮,一个是“开始运行”,第二个是“停止”,第三个是“退出”,功能是这样的,
当点“开始运行”这个按钮时,程序里面的一个功能就开始运行了,可能还会运行较长一段时间,“停止”
按钮要解决的问题就是在按下它的时候,让运行的那一个功能马上停止,这个我不会做,不知有那位仁兄
能帮忙解决一下,
有人跟我说用多线程编写,可我又不会,试着改了一下,又有一个新问题如下:
下面是一个程序的样子
void MyFunction()
{
}
C::Run()
{
MyFunction();
}
上面这样做是可以运行的,而且结果完全正确,就是不知如何停下来。
改成如下:
UINT MyFunction(LPVOID pParam)
{
return 1;
}
C::Run()
{
AfcBeginThred(MyFunction, NULL);
}
这样做的目的是想通过在“停止”按钮上结束这个进程而达到停止的目的,可是这样改了以后,
AfcBeginThred(MyFunction, NULL)却运行不下去,请各位指点指点。