编辑框状态设置问题

juicee 2007-07-30 02:48:41
在基于对话框的工程中,主对话框中有一个编辑框,并有个m_editXXX与之关联,但当我在主对话框类中的函数里用m_editXXX设置编辑框状态时发现会有问题
比如:
m_editXXX.EnableWindow(FALSE);
sleep(1000);
m_editXXX.EnableWindow(TRUE);
为什么编辑框一直没有显示被禁用的状态呢
如果把
m_editXXX.EnableWindow(TRUE);
注释掉
则编辑框将在sleep(1000);
之后显示被禁用状态
而把
sleep(1000);
m_editXXX.EnableWindow(TRUE);
都注释掉,编辑框马上会被禁用
还有就是我在主对话框中按钮被禁用时点击它,在按钮被启用后还是会响应之前的点击,这是为什么……请高手指点- -
...全文
236 点赞 收藏 15
写回复
15 条回复
juicee 2007年08月02日
算了,就这样结了吧
回复 点赞
saihikaro 2007年08月01日
都是高人!
回复 点赞
juicee 2007年07月31日
多谢handsomerun,Mackz,ouyh12345(五岭散人)
现在问题是禁用按钮时点击了按钮,在重新启用之后竟然会响应之前禁用时的鼠标点击。搞不懂了- -还望赐教。
回复 点赞
juicee 2007年07月31日
大哥们,不要丢下偶啊……555555
回复 点赞
菜牛 2007年07月30日
m_editXXX.EnableWindow(FALSE);
SetTimer(10, 1000, NULL);
...


...OnTimer(...)
{
if (10 == nIDEvent)
{
m_editXXX.EnableWindow(TRUE);
KillTimer(10);
}
...
}

你禁止了窗口控件,当然不会响应鼠标消息。
回复 点赞
juicee 2007年07月30日
我这里Sleep只是模拟停顿,我用其它语句的时候也会这样
本来的语句是
m_staticStatus.SetWindowText("修改中...");
DWORD tStart = GetTickCount();
for (pRecord->MoveFirst();!pRecord->EndOfFile; pRecord->MoveNext())
{
strTmp =(LPTSTR)(_bstr_t)pRecord->GetCollect((_bstr_t)m_strValue);
strTmp.Replace(m_strSrc,m_strDest);
pRecord->PutCollect((_bstr_t)m_strValue,(_bstr_t)strTmp);
}
DWORD tEnd = GetTickCount();
CString strTime;
strTime.Format("%d",tEnd-tStart);
m_staticStatus.SetWindowText("修改成功......耗时"+strTime+"毫秒");
回复 点赞
juicee 2007年07月30日
确实是顺序执行的语句,定时器中修改编辑框具体什么意思呢,我是想在执行按钮响应这段时间禁止用户修改输入数据。
回复 点赞
juicee 2007年07月30日
还有就是最后的那个问题,怎么能让按钮在禁用一段时间后在启用的时候不响应禁用期间的鼠标点击?
回复 点赞
菜牛 2007年07月30日
你这是顺序执行的语句?也就是说在后面一句执行完以前,界面都不会更新,界面只反映最后修改的状态。
建议改成定时器中修改编辑框状态。Sleep对于本进程根本就是阻塞的。
回复 点赞
juicee 2007年07月30日
嗯,谢谢,UpdateWindow();确实可以,但是似乎每一个编辑框都要写一个,可不可以update整个主对话框呢。。就像Invalidate一样。
回复 点赞
handsomerun 2007年07月30日
UpdateWindow();
回复 点赞
juicee 2007年07月30日
还是不行:(
以前好像没碰到这样的问题- -
回复 点赞
handsomerun 2007年07月30日
m_editXXX.EnableWindow(FALSE);


加UpdateWindow();
回复 点赞
ouyh12345 2007年07月30日
在EnableWindow后添加m_editXXX.Invalidate()试试
回复 点赞
juicee 2007年07月30日
来人那。。。救命那。。。
回复 点赞
发动态
发帖子
界面
创建于2007-09-28

7975

社区成员

11.5w+

社区内容

VC/MFC 界面
社区公告
暂无公告