Posted on 2008-04-17 17:47
RichardHe 阅读(243)
评论(2) 编辑 收藏 引用
对于MFC的模式对话框不知道微软具体是怎么实现的.我想大慨原理就是把焦点只放在当然的对话框上,并且让消息循环也只处理当前的窗口,其它的不处理.
以上只是我的个人理解.不知道有没有说错?
今天在游戏中使用Lua来控制,在CEGUI中,所有窗口挂在一个root的根结点上.设置模式窗口可以把当前弹出来的窗口设为Enable,其它的所有窗口设为disable.当取消或关闭了模式窗口后,要根据所有窗口以前的状态还原回去.
在脚本实现了第一个功能,当弹出模式窗口以后,其它所有窗口不能使用.
但是还原回去时关闭了模式窗口后,以前其它窗口还是不能使用!奇怪的问题,在弹出模式窗口前获得其它窗口的able状态.在关闭之后根据以前的状态设置回最开始的状态.
按思路这个方法是可以行得通的.但事情往往不如人愿.