首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >桌面,无法保存窗口位置

桌面,无法保存窗口位置
EN

Stack Overflow用户
提问于 2014-03-05 17:32:20
回答 2查看 469关注 0票数 0

因此,我需要将窗口的位置和大小保存到db表中:

关于事件“创建”->保存位置和大小

关于事件“移动”->保存位置

关于事件“调整大小”->保存大小

关于事件“最大化”->保存“最大化”,

但不是位置(0,0)和大小(desktopSize)

  • 该案件所需:

代码语言:javascript
复制
1. the user logs out and logs in
2. pushing "restore"-Button
3. window should shrink to size (and position) before maximized

只有当旧的位置和大小保持在数据库中时,才能做到这一点。

某些事件启动某些函数,通过AJAX存储值到db,如name所示:

调整大小:saveSize()

移动:savePosition()

最大化:saveMaximize()

还原:restoreWindow()

但我不知道如何处理这些事件,因为这些事件并不像我“希望”的那样被解雇。所以,我需要存储的值在我有机会得到它们之前被覆盖了。我记录了这些事件:

(个案->事件)

打开窗户:

  1. 移动
  2. 调整尺寸
  3. 移动 ,好的,

“点击”最大化:

  1. 调整尺寸
  2. 移动
  3. 极大化 位置和大小值被覆盖,但只需要保存标志“最大化”:真

“单击”还原:

  1. 移动
  2. 恢复
  3. 调整尺寸 将位置保存到db中,然后才能从db获取“旧”值以恢复

移动窗口:

  • 移动 一切都很好

怎么处理??

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-07 15:01:20

被困在我自己的思想里。只是忘了问

“extjs如何管理这个:最大化和恢复”。

状态存储在窗口对象本身中:

代码语言:javascript
复制
scope = win.events.maximize.listeners[0].scope;
(object) size = scope.restoreSize
[] position = scope.restorePos

因此,事件“最大化”是最后触发的,所以我可以将以前的状态写入db,我认为这有点脏,因为我不知道为什么extjs会频繁触发事件

票数 0
EN

Stack Overflow用户

发布于 2014-03-05 18:01:01

不要手动执行此操作,而是使用组件状态处理:http://docs.sencha.com/extjs/4.2.2/#!/example/state/state.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22204958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档