`

转 Resize事件

阅读更多
转自 http://hi.baidu.com/njf119/blog/item/f76aa3efba85031cfcfa3c31.html


该事件在窗口打开或者形状发生变化时触发。该事件中的典型编程是,窗口打开时在该事件中根据程序的运行环境调整窗口的大小和位置,用户改变窗口形状时,按照适当比例调整窗口上控件的大小和位置。这样,可以保证窗口的大小不依赖运行环境,窗口大小改变时也不会使窗口上的部分控件显示不出来。

该事件的参数NewWidth和NewHeight是两个Integer类型的参数,可以直接在该事件中使用,用来获取改变后窗口的宽度和高度,以便和原来的宽、高比较获取大小变化比例,用该比例对其他控件进行一定的调整。

比如,可以在窗口的Resize事件中编写脚本,当用户调整窗口大小时,根据用户调整的比例对窗口上的控件大小进行调整。首先定义两个实例变量用来保存调整之前的窗口大小,在窗口的Open事件中对这两个实例变量初始化,脚本如下:

ii_width = This.width

ii_height = This.height

然后在窗口的Resize事件中编写如下脚本:

Int li_index                   //循环变量

DragObject lobj_every //用来获取窗口上的控件


For li_index = 1 To UpperBound(this.control[])   //对窗口中的所有控件逐一处理

                   lobj_every = control[li_index]                                     //保存当前控件

         lobj_every.x = lobj_every.x * (newwidth / ii_width)                           //重新设置X坐标

                   lobj_every.width = lobj_every.width * (newwidth / ii_width)     //重新设置宽度

        

         lobj_every.y = lobj_every.y * (newheight / ii_height)                            //重新设置Y坐标

                   lobj_every.height = lobj_every.height * (newheight / ii_height)    //重新设置高度

Next

ii_width = newwidth                      //保存当前宽度

ii_height = newheight             //保存当前高度

分享到:
评论

相关推荐

    vue-drag-resize-rotate:vueComponent拖动,调整大小和旋转

    支持基本的事件回调,提供元素实时宽高位置信息数据; 目前仅支持 pc 端、px 的 css 单位;后续添加移动端和 rem 自适应; 组件仅实现最基本的拖拽、缩放和旋转核心功能,源码简单清晰可解耦,有较高的扩展性 演示...

    rolly-scrolly:使用简单的API将网页的可滚动区域转换为事件的时间轴

    特征对jQuery的依赖性最小(选择器语法, .height() .scrollTop() .height() .scrollTop() .resize() ) 将可滚动区域划分为一系列离散的frames ,您可以将事件绑定到这些frames 支持特定于帧的事件以及可以在每个帧...

    pyqt5源代码:关系和坐标变换:可随意挪动图中的图形的位置,记录坐标位置。方法:pyqtSignal,QPoint,Qt

    应用: ... self.resize(600,450) self.setWindowTitle("Demo8_5, View/Scene/Item关系和坐标变换") font=self.font() font.setPointSize(11) self.setFont(font) centralWidget =QWidget

    javascript检测移动设备横竖屏

    (2)orientationchange 是一个event,在设备旋转时,会触发此事件,如同PC上使用的resize事件。 这两个搭配起来使用,很容易就能获得设备的横竖屏状态,代码如下: (function(){ var init = function(){

    Excel VBA实用技巧大全 附书源码

    04026利用Resize属性引用变更为指定大小的单元格区域 04027引用不包括标题行的单元格区域 04028引用不包括标题列的单元格区域 04029引用任意单元格区域的右下角单元格(之一) 04030引用任意单元格区域的右下角...

    模块化2D位图图形库GFXprim.zip

    过滤器实现位图过滤,比如 resize, convolutions, point filters (brightness, contrast, etc.), rotations, edge sharpening, ditherings, median, etc. 后端可以实现创建 X11 窗口,在 Linux 绘图缓冲存储器上绘制...

    impulse-slider:jQuery 3D图像滑块插件

    路线图旧版浏览器或移动设备的正常降级不同的样本导航响应键盘按键事件API 响应功能不同的过渡效果WordPress插件变更日志v0.4:2013年10月21日向API添加了用于旋转,暂停和调整容器大小的方法: 右旋() 向左旋转...

    ical2svg:从 code.google.compical2svg 自动导出

    从一个或多个 iCalendar 文件中获取事件并生成给定间隔的图形“块计划”。用法java -jar ical2svg.jar foo.ics bar.ics baz.ics > schedule.svg 或者java -jar ical2svg.jar Everything.ics --groupby location > ...

    javascript常用对象梳理

    window.captureEvent(事件1|事件2|...|事件n) 功能:捕捉指定参数的所有事件。由于能够捕获哪些由本地程序自己处理的事件 ,所以程序员可以随意定义函数来处理事件。如果有多个事件需要捕捉,各事件 之间用管道符...

    100个直接可以拿来用的JavaScript实用功能代码片段(1-10)

    91、原生JavaScript实现窗体改变事件resize的操作(兼容所以的浏览器) 92、原生JavaScript用正则清除空格分左右 93、原生JavaScript判断变量是否空值 94、原生JavaScript实现base64解码 95、原生JavaScript实现utf8...

    jQuery EasyUI 1.4 离线简体中文API文档 含完整开发工具包+皮肤+扩展+演示

    我花那么多精力制作出来的 你们鼠标点两下就给我转走了还不注明出处 实在是不厚道 本来就是本着分享精神的 为的就是聚集一点人气和提供一个优良的环境来一起学习进步的 请不要抹杀掉我的热情 谢谢 )  时隔4个月之...

    EXCEL VBA常用技巧

    1-5 使用Resize属性 6 1-6 使用Union方法 7 1-7 使用UsedRange属性 7 1-8 使用CurrentRegion属性 8 技巧2 选定单元格区域的方法 8 2-1 使用Select方法 8 2-2 使用Activate方法 9 2-3 使用Goto方法 10 技巧3 获得指定...

    visual-drag-demo:可视化拖拽组件库DEMO

    一个低代码平台的前端部分,...绑定事件 绑定动画 引入PSD 手机模式 拖拽旋转 复制粘贴剪切 数据交互 发布 多个组件的组合和细分 文字组件 矩形组件 锁定组件 快捷键 网格线 编辑器快照的另一种实现方式 在线演示 文件

    1345个易语言模块

    ReSize.ec rhmisc.ec ricky52529 编程超级模块.ec RUN++行++模块2.ec RUNONCE.EC runtime.ec RUN加减模块1.0+ 名.ec SAVEPIC.EC Sc千寻专用模块.ec SetIEProxy.ec setuser.ec sev.ec shell.ec SHELL32.EC ShutDown....

    1350多个精品易语言模块

    ReSize.ec rhmisc.ec ricky52529 编程超级模块.ec RUN++行++模块2.ec RUNONCE.EC runtime.ec RUN加减模块1.0+ 名.ec SAVEPIC.EC Sc千寻专用模块.ec SetIEProxy.ec setuser.ec sev.ec shell.ec SHELL32.EC ShutDown....

    javascript学习笔记.docx

    9) 控制窗口几何大小可用moveTo()、moveBy()、resizeTo()、resizeBy()。滚动可用scrollTo、scrollBy()。 10) 成焦点和失焦点可用 focus()、blur()。 11) location属性代表当前显示文档的URL。对其赋值使浏览器装载新...

    Qt Creator 的安装和hello world 程序+其他程序的编写--不是一般的好

    5.右击登录按钮选择go to slot,再选择clicked(),然后进入其单击事件的槽 函数,写入一句 void loginDlg::on_loginBtn_clicked() { accept(); } 6.改写main.cpp: #include #include "widget.h" #include "logindlg...

    VBA常用技巧

    1-5 使用Resize属性 12 1-6 使用Union方法 12 1-7 使用UsedRange属性 12 1-8 使用CurrentRegion属性 12 技巧2 选定单元格区域的方法 12 2-1 使用Select方法 12 2-2 使用Activate方法 12 2-3 使用Goto方法 12 技巧3 ...

    VBA编程技巧大全

    1-5 使用Resize属性 13 1-6 使用Union方法 14 1-7 使用UsedRange属性 14 1-8 使用CurrentRegion属性 15 技巧2 选定单元格区域的方法 15 2-1 使用Select方法 15 2-2 使用Activate方法 16 2-3 使用Goto方法 17 技巧3 ...

Global site tag (gtag.js) - Google Analytics