如何刷新edit控件的内容 我想按下一个按钮后刷新10次edit控件,for(i=0;i<10;i++){m_edit = i;//edit控件的成员Sleep(500);UpdateData(FALSE);}为什么每次都只刷新成9呢, 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 进入for循环,界面线程被阻塞了。你不能动态看到数值改变。 你可以建立一个线程来实现。参考代码如下:void CGraphictestDlg::OnButton1() { AfxBeginThread(MyThread,this); }UINT MyThread(LPVOID pParam){ CGraphictestDlg *pDlg=(CGraphictestDlg *)pParam; for(int i=0;i<10;i++) { pDlg->m_edit2=i; Sleep(1000); pDlg->UpdateData(FALSE); } return 0;}这样就可以看到动态改变的效果了。 同意楼上在for 循环中sendmessage给窗口处理,让窗口给你刷新 同意 kugou123(酷狗)(http://www.xiaozhou.net) UIThread被阻塞了!内部已经更新了!另外:m_edit = i;//edit控件的成员你刷新的是不是就是一个Edit控件 void CTestView::OnButton7() { int x; DWORD dwThreadID; LastData = Data = 0; bExit = false; GetDlgItem(IDC_EDIT3,&hwndEdit); FThread=CreateThread(NULL,0,DisplayData, (LPVOID )&x,CREATE_SUSPENDED,&dwThreadID); ResumeThread(FThread);}DWORD WINAPI DisplayData(LPVOID param){ MSG msg; CString s_Data; while(TRUE) { Data++; if(LastData != Data) { s_Data.Format("%d",Data); ::SetWindowText(hwndEdit,s_Data); LastData = Data; } Delay(200); if(bExit) ExitThread(0); } return 0;} 关于CBitmap类的LoadBitmapA函数问题??? Socket的recv函数阻塞时间? 系统托盘一些问题 请教是否能捕捉到这个消息? 关于重绘窗体的! 如何设置网卡为混乱模式? 怎样设置焦点? 如何调用DLL中的函数? 各路高手救命呀!!!HELP!!马上给分!! come to see see 多线程下的异步操作 关于字符串资源的使用 看过windows程序设计的人进来看看
{
AfxBeginThread(MyThread,this);
}
UINT MyThread(LPVOID pParam)
{
CGraphictestDlg *pDlg=(CGraphictestDlg *)pParam;
for(int i=0;i<10;i++)
{
pDlg->m_edit2=i;
Sleep(1000);
pDlg->UpdateData(FALSE);
}
return 0;
}
这样就可以看到动态改变的效果了。
在for 循环中sendmessage给窗口处理,让窗口给你刷新
UIThread被阻塞了!内部已经更新了!
另外:m_edit = i;//edit控件的成员
你刷新的是不是就是一个Edit控件
{
int x;
DWORD dwThreadID; LastData = Data = 0; bExit = false; GetDlgItem(IDC_EDIT3,&hwndEdit); FThread=CreateThread(NULL,0,DisplayData,
(LPVOID )&x,CREATE_SUSPENDED,&dwThreadID); ResumeThread(FThread);
}DWORD WINAPI DisplayData(LPVOID param)
{
MSG msg;
CString s_Data;
while(TRUE)
{
Data++;
if(LastData != Data)
{
s_Data.Format("%d",Data);
::SetWindowText(hwndEdit,s_Data);
LastData = Data;
} Delay(200); if(bExit)
ExitThread(0); }
return 0;
}