MFC中如何创建一个线程,当单击对话框中的某一指定按钮后,在该按钮响应程序中发送线程启动消息! 5

将按钮响应和事件处理分开!... 将按钮响应和事件处理分开! 展开
 我来答
zwb32167
2011-03-31 · TA获得超过328个赞
知道答主
回答量:136
采纳率:0%
帮助的人:162万
展开全部
我们可以用CreateThread函数来创建一个线程,函数圆形你可以参考MSDN.需要提一点就是你必须写一个线程函数,原型为UINT FuncThread(LPVOID pParam), 然后将你要作的操作写在里面.
比如
void CXXXXDlg::OnButton()
{
DWORD dwThreadId = 0
CreateThread(NULL, 0, FuncThread, this, 0, &dwThreadId );
}

UINT FuncThread(LPVOID pParam) //参数为CreateThread的第四个参数,此时我传的是一个this指针.
{
CXXXXDlg *pDlg = (CXXXXDlg*)pParam;
///你的操作.
return 0;
}

除此之外还可以用AfxBeginThread, 或_beginthreadEx

参考资料: D

闷声发大才
2011-03-30 · TA获得超过160个赞
知道小有建树答主
回答量:132
采纳率:0%
帮助的人:47.7万
展开全部
AfxBeginThread
追问
如何创建?
追答
定义一个全局线程函数(当然也可以是类的静态成员函数),例如
UINT SessionThread(LPVOID lpvoid)
{
}

然后再
AfxBeginThread(SessionThread,NULL,THREAD_PRIORITY_NORMAL,1024*1024);
具体参数使用可查阅msdn
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式