我知道window的 newwidth,newheight 是变化后的值(window的属性,不是变量,可直接调用)
那么变化前的值呢 我试过 oldwidth肯定不行
难道要用 6,7个变量去保存啊
------解决方案--------------------
你是要取控件原始的XY还是窗口的?
------解决方案--------------------
window的任何大小变化都会触发resize事件,你每次保存当前的newwidth,作为下一次变化前的width.只能这样了,除非你window在一直变化,你又想得到所有变化的大小,那就没办法了,只能写个结构数组,一次次保存了
------解决方案--------------------
------解决方案--------------------
你记录x、y、width、height的目的是什么
------解决方案--------------------
在窗口中新建一个结构(str_position):
Long X
Long Y
在窗口添加实例变量:
Private:
str_position ctlposition[] //保存控件原的X,Y坐标
Long oldWidth,old_Height //保存窗口原宽高
- C/C++ code
窗口Open事件中添加以下代码:----------------------------DragObject ldo_Ctlint indexoldWidth = WidtholdHeight = Heightfor index = 1 to UpperBound(This.Control) try ldo_Ctl=This.Control[index] ctlposition[index].x=ldo_Ctl.x ctlposition[index].y=ldo_Ctl.y catch(runtimeerror err) continue end trynext窗口Size事件中添加以下代码:----------------------------DragObject ldo_Ctlint indexfor index = 1 to UpperBound(This.Control) try ldo_Ctl=This.Control[index] ldo_Ctl.X = ctlposition[index].x + (newwidth - oldWidth) / 2 ldo_Ctl.Y = ctlposition[index].y + (newheight - oldHeight) / 2 catch(runtimeerror err) continue end trynext