对于控制界面上各个控件状态的变化,大家是在逻辑代码中设置,还是采用其它办法?比如说有一个小录音软件,上面有BtnSave, BtnPause, BtnStop三个按钮, 要求:
1.初始状态只有BtnSave可用,另两按钮是灰色
2.按下BtnSave后开始录音,BtnSave变灰,BtnPause, BtnStop可用
3.按下BtnPause后BtnSave变灰, 录音暂停, BtnPause, BtnPause可用, BtnPause上caption变"继续".
4.再次按下BtnPause后BtnSave变灰, 录音继续, BtnPause, BtnPause可用, BtnPause上caption变"暂停".
5.按下BtnStop后退到状态1.按下BtnSave和BtnStop后都不是可以马上接通, 需要等低层硬件几秒钟,而且有可能录音开始和停止失败.
同时也不希望在按下按钮后界面无响应(因为有时低层反映延迟比较长), 若录音按钮无变化,用户可能"烦躁"地多次点击.目前的办法是设置一个录音状态对象, 界面的动作直接传到低层去执行, 由定时器每200ms抽取一下低层硬件状态赋给录音状态对象, 然后按其状态来实时更新和画界面各按钮状态. 有更好的办法吗?
1.初始状态只有BtnSave可用,另两按钮是灰色
2.按下BtnSave后开始录音,BtnSave变灰,BtnPause, BtnStop可用
3.按下BtnPause后BtnSave变灰, 录音暂停, BtnPause, BtnPause可用, BtnPause上caption变"继续".
4.再次按下BtnPause后BtnSave变灰, 录音继续, BtnPause, BtnPause可用, BtnPause上caption变"暂停".
5.按下BtnStop后退到状态1.按下BtnSave和BtnStop后都不是可以马上接通, 需要等低层硬件几秒钟,而且有可能录音开始和停止失败.
同时也不希望在按下按钮后界面无响应(因为有时低层反映延迟比较长), 若录音按钮无变化,用户可能"烦躁"地多次点击.目前的办法是设置一个录音状态对象, 界面的动作直接传到低层去执行, 由定时器每200ms抽取一下低层硬件状态赋给录音状态对象, 然后按其状态来实时更新和画界面各按钮状态. 有更好的办法吗?
解决方案 »
- 如何用delphi操作Excel查找所有包含特定字符串的数据?
- 一个关于ProgressBar的问题,请高手赐教
- 提示:“List Index Out Of Bounds(1)”
- 如何双击自定义文件后被我的程序自动打开 在线等
- 怎么使软件自动发邮件啊!????
- (100分)如何用DEPHI实现音频转换,如VC调用ACM一样,DEPHI怎么做?
- 着急!!高分问一个小问题(SQL),UP有分
- 关于Grid的一个问题,神啊救救我吧
- 菜鸟又来送分给大家了,这次问的是有关SQL查询统计的。很简单的,只要做过的就会。
- 关于数据加密的问题
- [讨论]关于小时候玩具——魔盘的编程
- 在线等:请问如何屏蔽掉控键中的键盘事件?
采用ACTION模式也是介面与逻辑分离比较简单的方式。