我想在一个对话框中动态的显示一个数据在计算过程中的值,这样这个数就象时刻在变化一样,可是每次都是程序在后台运行,我只能看到第一个值和计算完了的值,而且循环的次数多了,整个程序就象死机一样,如何计算一个值,就把它显示出来,请看我的程序,m_Edit为CEdit一个对象.void CDlg::OnButton1()
{
for(int i=0;i<10000;i++)
for(int j=0;j<10000;j++)
{
m_Edit=i+j;
UpdateData(false);
}
}
{
for(int i=0;i<10000;i++)
for(int j=0;j<10000;j++)
{
m_Edit=i+j;
UpdateData(false);
}
}
解决方案 »
- 如何修改Check Box字体颜色
- 怎么卖代码好呢
- 怎么隐藏掉工具栏里面的竖线啊?代码实现
- 请教ListCtrl的问题
- 按照老侯的说法,ResumeThread和SuspendThread好象只适合写什么调试器(p146),实际中是这样的吗?我有个情况:
- 请问如何获得一个进程的内存使用量?
- 菜鸟问题:如何设置按钮字体
- 在VC中定义一个模板类,一定要将成员函数的实现和类的定义写在一个文件中吗?
- 那里有Inside OLE down, or where can i buy it?
- 今天,花费4小时,下载和安装VMware workstation 10,windows 8.1 x86。
- 请求编写一函数
- 禁止上网 和 封堵端口
不是后台运行
所以才会无法显示
DWORD WINAPI ThreadProc(
LPVOID lpParameter
)
{
CDlg *pDlg = (CDlg *)lpParameter; CString szTemp;
for(int i=0;i<10000;i++)
for(int j=0;j<10000;j++)
{
szTemp.Format( "%d" , i+j );
pDlg->SetDlgItemText( IDC_EDIT1 , szTemp ); // 这里IDC_EDIT1即为m_Edit对应的Edit控件ID
} return 0;
}
void CDlg::OnButton1()
{
HANDLE hHandle = CreateThread( NULL , 0 , ThreadProc , this , 0 , NULL );
CloseHandle( hHandle );
}