VC用户界面线程

来源:百度知道 编辑:UC知道 时间:2024/06/20 09:24:34
我要实现一个用户界面线程,在主线程运行时把运行的信息显示到界面上,但是主线程在创建线程后,调用了一个方法要运行很长时间,这样那个用户界面线程的界面就显示不出来了,但若是注释掉那个方法,就可以显示,请问怎样解决?

用多线程就解决了:假设你调用的复杂方法是void fun(int a, int b);那么你可以添加如下代码:
struct tagMyParam
{
int a;
int b;
}MYPARAM;

DWORD WINAPI CaclProc( LPVOID lpParameter)
{
MYPARAM* Param = (Param*)lpParameter;
fun(Param->a, Param->b);
return 0;
}

在你的主函数里如下写:
.....
PARAM Param;
int a = 12, b = 20;
Param.a = a;
Param.b = b;
CreateThread(NULL, 0, CaclProc, &Param, 0, NULL);
.....