|
|
主题: 关于模式对话框的最小化、最大化
|
 ncs
职务:普通成员
等级:1
金币:0.0
发贴:15
注册:2002/5/15 13:13:25
|
#12002/5/15 13:30:52
<script> function openMDialog(){ MDialog=showModelessDialog("about:<html><FRAMESET style=\"border:none\" ROWS=\"21,*\" border=0><FRAME SRC=\"about:<script>function MiniWindow(){parent.window.moveTo(0,3000)}function MaxiWindow(){parent.window.resizeTo(screen.availWidth,screen.availHeight);parent.window.moveTo(0,0)}<\/script><body style='margin:0'><div style='position:absolute;width:11pt;right:26.5pt;font-family:webdings' onClick='MiniWindow()'>0</div><div style='position:absolute;width:11pt;right:14pt;font-family:webdings' onClick='MaxiWindow()'>1</div></body>\" NAME=\"topFrame\" scrolling=no><FRAME SRC=\"about:<body style='border:1 solid black'>sdfsdf</body>\" NAME=\"mainFrame\"></FRAMESET></html>"  } </script> <a href=### onclick="openMDialog()">打开模式对话框</a> window.moveTo() window.resizeTo()不能用于模式对话框,open()的窗口是可以的。 大家有好办法吗?
编辑历史:[此帖最近一次被 allinhands 编辑过(编辑时间:2004-12-22 14:39:13)]
|
 =ridincal=
职务:管理员
等级:7
金币:20.0
发贴:5886
注册:2004/1/13 11:47:04
|
#22002/5/15 16:47:48
MSDN这样解释Dialog窗口的move和resize操作: This method (注:moveTo或resizeTo)does not work on dialog windows. In order to move or size a dialog window, manipulate the dialogHeight,dialogWidth, dialogTop, and dialogLeftproperties. 可以在openModelessDialog 时设置这四个参数来设置位置和大小; MSDN解释这四个属性为可读写属性,但对openModelessDialog返回的window对象的这四个属性无法进行写操作,所以无法在对话框打开后进行这两种操作,  不知谁有更好的办法??
编辑历史:[这消息被ridincal编辑过(编辑时间2002-05-15 16:49:05)]
|
 ncs
职务:普通成员
等级:1
金币:0.0
发贴:15
注册:2002/5/15 13:13:25
|
#32002/5/15 17:33:12
已经解决了。 这是函数: function MaxiWindow() { if(window.dialogWidth!=screen.availWidth+"px"){ iW=window.dialogWidth iH=window.dialogHeight iL=window.dialogLeft iT=window.dialogTop window.dialogWidth=screen.availWidth window.dialogHeight=screen.availHeight window.dialogLeft=0 window.dialogTop=0 b1.innerText="2" } else{ window.dialogWidth=iW window.dialogHeight=iH window.dialogLeft=iL window.dialogTop=iT b1.innerText="1" } } 下面是那个“按钮”: 1
|
 =ridincal=
职务:管理员
等级:7
金币:20.0
发贴:5886
注册:2004/1/13 11:47:04
|
#42002/5/15 18:32:39
解决得很好!!+5分! 原来是必须在modeless页面中设置dialogWidth、dialogHeight属性。
|
 =ridincal=
职务:管理员
等级:7
金币:20.0
发贴:5886
注册:2004/1/13 11:47:04
|
#52002/5/15 19:28:05
编辑历史:[这消息被ridincal编辑过(编辑时间2002-05-15 19:28:35)] [这消息被ridincal编辑过(编辑时间2002-08-12 17:37:42)]
|
 5D荣誉斑竹
职务:普通成员
等级:5
金币:10.0
发贴:3292
注册:2001/5/24 10:01:29
|
#62002/5/15 20:24:25
不错,收藏
|
 5D限制级
职务:普通成员
等级:6
金币:10.0
发贴:4970
注册:2001/8/16 14:52:34
|
#72002/5/15 21:13:48
好东东 共享
|
 ncs
职务:普通成员
等级:1
金币:0.0
发贴:15
注册:2002/5/15 13:13:25
|
#82002/5/16 13:40:03
大家继续讨论最小化的实现~ dialogLeft 和 dialogTop 无法把窗口移出屏幕外, dialogWidth 和 dialogHeight 不能设成0,我试过。 哪位朋友有办法?
|
 =ridincal=
职务:管理员
等级:7
金币:20.0
发贴:5886
注册:2004/1/13 11:47:04
|
#92002/5/16 15:32:40
呵呵,关于这一点微软说得很清楚:
Although a user can manually adjust the height of a dialog box to a smaller value provided the dialog box is resizable the minimum dialogHeight you can specify is 100 pixels.
dialogHeight 的最小值:100像素。
|
 ncs
职务:普通成员
等级:1
金币:0.0
发贴:15
注册:2002/5/15 13:13:25
|
#102002/5/16 16:20:50
55555555555555555555555555555555~
|