-
-
-
-
-
-
-
-
- afx_msg LRESULT CThreadControlUiDlg::OnChengeEditText(WPARAM wParam, LPARAM lParam)
- {
-
- CString* strEdit = (CString*)wParam;
-
-
- SetDlgItemText(IDC_EDIT1,*strEdit);
-
- return 0;
- }
//------------------------------------------------------------------------------
// 函数命名: CThreadControlUiDlg::OnChengeEditText
// 返回类型: LRESULT
//------------------------------------------------------------------------------
// 参数信息: WPARAM wParam 这个参数用来接收传入的字符
// 参数信息: LPARAM lParam 保留参数
// 函数备注:
//------------------------------------------------------------------------------
afx_msg LRESULT CThreadControlUiDlg::OnChengeEditText(WPARAM wParam, LPARAM lParam)
{
// 将WPARAM的参数强制转换为CString类型
CString* strEdit = (CString*)wParam;
// 将字符串设置到控件中
SetDlgItemText(IDC_EDIT1,*strEdit);
return 0;
}
添加完消息代码之后再给“按钮”添加代码:
- void thread_proc(LPVOID lpVoid)
- {
- CString strEdit;
-
- for (int i = 0; i < 10 ; i++)
- {
- strEdit.Format( _T("我是在线程里哦~ ( ̄. ̄),现在值为:%d"),i);
-
-
- SendMessage(
- AfxGetApp()->GetMainWnd()->GetSafeHwnd(),
- WM_CHENGE_EDIT_TEXT,
- (WPARAM)&strEdit,
- NULL);
-
- Sleep(500);
- }
-
- }
-
- void CThreadControlUiDlg::OnBnClickedButton1()
- {
-
- CreateThread(NULL,NULL,(LPTHREAD_START_ROUTINE)thread_proc,NULL,NULL,NULL);
- }
void thread_proc(LPVOID lpVoid)
{
CString strEdit;
for (int i = 0; i < 10 ; i++)
{
strEdit.Format( _T("我是在线程里哦~ ( ̄. ̄),现在值为:%d"),i);
// 在线程中向主窗口发送自己的消息
SendMessage(
AfxGetApp()->GetMainWnd()->GetSafeHwnd(), // 获得主窗口在句柄
WM_CHENGE_EDIT_TEXT, // 发送自己的窗口消息
(WPARAM)&strEdit, // 设置发送的内容
NULL); // 预留参数为空
Sleep(500); // 使线程延时500毫秒,为了看清界面的数字变化
}
}
void CThreadControlUiDlg::OnBnClickedButton1()
{
// 创建一个新的线程
CreateThread(NULL,NULL,(LPTHREAD_START_ROUTINE)thread_proc,NULL,NULL,NULL);
}
这样我们的程序就算完成了。编译一下吧。