用MFC对话框模式建立一个多线程演示程序,比如线程thread1计算2的n次方,如何在线程中向Edit Box写入结果。我的部分程序如下,请讨论。
CDxcMfc01Dlg dialog; // 声明对话框类的对象
...
result=pow2n(result,n); // 调用pow2n 计算2的n次方 结果放于char* result
dialog.UpdateData(true);
dialog.m_edit1.Format("%s",result);
dialog.UpdateData(false);
与大家共勉!!!
CDxcMfc01Dlg dialog; // 声明对话框类的对象
...
result=pow2n(result,n); // 调用pow2n 计算2的n次方 结果放于char* result
dialog.UpdateData(true);
dialog.m_edit1.Format("%s",result);
dialog.UpdateData(false);
与大家共勉!!!
CDxcMfc01Dlg dialog; // 声明对话框类的对象
...
while(1){
result=pow2n(result,n); // 调用pow2n 计算2的n次方 结果放于char* result
dialog.UpdateData(true);
dialog.m_edit1.Format("%s",result);
dialog.UpdateData(false);
}//这样写你的主程序就“死掉啦“。。
你的非类的函数是指的什么?
用SendMessage(WM_WRITETEXT,0,0);//计算完毕发送消息到你的类中另外你在OnDraw中调用你的线程函数的时候应该把当前的this指针传递给线程,这样你就可以使用(CYourDlg *)this->SendMessage(WM_WRITETEXT,0,0)向你的类发送消息
在你的类中可以响应这个消息,处理现实数据了
(CYourDlg *)lParam->SendMessage(WM_WRITETEXT,0,0);//向你的类发送消息
SendMessage(WM_WRITETEXT,(WPARAM)str,0);
str.Format("%s",wParam);//wParam是从线程发过来的消息参数,里头是你的计算结果的字 符表示
m_edit.Format("%s",str);
update(false);