win32编程

ProgrammerNO1 2008-06-11 09:42:06
我用的是EVC, 当我在窗体内点击A按钮时,它会执行很长一段时间的事件响应,在执行A按钮事件的过程中(客户会不断点击窗体内其他按钮,为了避免不让其他按钮响应鼠标点击的事件)当A按钮事件执行完后,其他按钮又能恢复可点击事件的响应,我用了EnableWindow把其他铵钮置为false,可是A按钮事件执行完后,这时候其他按钮又不能被点击了,请问怎么恢复他们呢?我把他们置为ture,可是不管用。有个想法:是不是要把其他按钮创建时的属性添加些什么,我只用了WS_child,ws_visable.谢谢!
...全文
131 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ProgrammerNO1 2008-06-11
  • 打赏
  • 举报
回复
showwindow考虑过,这样其中某个按钮就被隐藏了,不符合设计效果的初衷。。而且还是会暴露出多个界面乱跳的现象。
iu_81 2008-06-11
  • 打赏
  • 举报
回复
使用showwindow,不要用enablewindow
ProgrammerNO1 2008-06-11
  • 打赏
  • 举报
回复
我判断了,首先置为false,返回True,否则 enablewindow(....false);


enablewindow(getdlgitem(hwnd,id),false);
return ture;
else\
enablewindow(getdlgitem(hwnd,id),ture);
但是A按钮执行完后,然后再点击被置为false的按钮就恢复不过来了,不响应。。。
zaodt 2008-06-11
  • 打赏
  • 举报
回复

什么也不用加,只要改回来即可:

MFC:
EnableWindow();

Win32:
BOOL EnableWindow( HWND hWnd, BOOL bEnable );


仔细找找哪里错了,另判断 EnableWindow 函数的返回值,看它是否执行成功。

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧