mfc对话框类中多线程

来源:互联网 发布:淘宝推广专区 编辑:程序博客网 时间:2024/06/05 16:25


做数据库的查询和显示,用到多线程。(对话框点击按钮查询,然后列表显示)


1、先定义线程函数

unsigned int __stdcall CDlg::QueryThreadFunc1( LPVOID lParam ){CDlg *pThis = reinterpret_cast<CDlg*>( lParam );pThis->StartOracleQuery();return 0;}

这个在头文件中是静态函数:

static unsigned int __stdcall QueryThreadFunc1(LPVOID lParam);

上述代码中,

StartOracleQuery()是普通函数,里面是数据查询处理。

2、创建线程

m_hQueryThread是成员变量,HANDLE类型

void CDlg::OnBnClickedOk(){// TODO: 在此添加控件通知处理程序代码if(!InitDB()){return;}m_hQueryThread = reinterpret_cast<HANDLE>(::_beginthreadex(NULL, 0, QueryThreadFunc1, reinterpret_cast<void*>(this), CREATE_SUSPENDED, 0));if (m_hQueryThread != NULL){::ResumeThread(m_hQueryThread);}}


1 0
原创粉丝点击