dojo SplitContainer

2023-11-18

SplitContainer ( author:amushen  email:amushen@yahoo.com.cn  qq:38371354 )
相关的文件
dojo.widget.LayoutContainer;dojo.widget.HtmlWidget;dojo.style;
三个js类,某些属性方法也可以参看那三个的源文件.

这个SpliterContainer的实现思路是:
在SpliterContainer内添加一个<div>这个div是中间那个调整条(程序里面的名字:SizingLine),这个调整条可以拖动,通过响应onMouseMove来调整调整条的位置,同时计算出左右两个区域的动态宽度,最后响应OnMouseUp事件,将左右两个区域的宽度固定.

一些属性:
orientation: 标识分隔的方向,默认取值是:horizontal,表示是水平方向分隔,取任何其它值都表示垂直分隔(但一般明确的标识垂直分隔的值是:vertical)
sizerWidth : 分隔线的宽度,默认取值是15
persist : 是否为本次会话保存当前调整的分隔位置。默认值为true。即如果当前会话不结束,那么客户端所调整的位置便一直有效!
activeSizing : 是否在调整位置的时候,内容跟着动态变化。0表示不会跟着动态变化,直到鼠标释放之后,里面的内容才开始调整;1则反之。
paneWidth :SplitContainer的宽度
paneHeight:SplitContainer的高度,这两个属性甚用,因为他们直接生效
( author:amushen  email:amushen@yahoo.com.cn  qq:38371354 )

SplitContainer所包含的组件,可以设置下列属性:
sizeMin – 默认值为10,本组件在SplitContainer容器中可允许的最小宽度,即拖动缩小的时候,不能小于本值。
sizeShare – 默认值为10,这个值的意思是本组件在容器中所占的宽度,请注意,这是一个相对值。比如,父容器有两个子组件,如果这两个子组件的sizeShare均设置为1(或均设置为其它任意相等的两个数值),意味着每个组件各占据50%的宽度。注意,在SplitContainer容器中的组件,你不能通过style=”width:XXpx”这样的style代码来设置宽度,将不会起作用。


其它不常用的属性:
widgetType: "SplitContainer"
{//下面的都是调整宽度的内部方法,不用外部调用
paneBefore: 拖动分割条时,左边的节点
paneAfter: 拖动分割条时,右边的节点
paneBefore.sizeActual : 拖动时,左边节点的动态大小,当执行过layoutPanels()方法后,这个动态的大小就会成为实际的大小
updateSize()方法:这个方法比较迷惑人,大家不要调用它来调整大小,因为这个是SplitContainer的内部方法,就是内部响应拖动事件以后自动调用的.
virtualSizer对象 :这个是调整大小的时候那个虚拟的调整条,就是颜色透明的那个,可以拖动的.

}

domNode.*  : 这个属性用来读取在定义的时候写入标签的属性.
    比如用户写了:<div dojoType="SplitContainer" UserId="111222" widgetId='ss' /> ,
    那么 dojo.widget.byId('ss').domNode.UserId 就能得到111222.这个我觉得比较有用,比如为节点增加业务方面的数据,
    而且,如果对css比较熟悉的话,也可以用domNode.style来直接修改节点的样式

一些方法:
layoutPanels()  :调整大小中,最最最关键的方法.当用户修改每个区域的sizeShare属性后,调用这个方法,然后才能实现大小的调整.也就相当于重新设定大小
saveState() : 调整大小后,调用这个方法,将保存现在大小到cookies
restoreState(): 从cookies中读取保存打大小,注意,调用完这个以后,需要再调用layoutPanels()方法来更新大小.//这里保存到cookies实效期好像是关闭浏览器后就实效了
转载://shennan qq:38371354    http://www.cnblogs.com/amushen/archive/2006/10/24/SplitContainer.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

dojo SplitContainer 的相关文章

随机推荐

  • 机器学习笔记GBDT(一):原理

    目录 文章目录 目录 前言 1 GBDT概述 2 GBDT的负梯度拟合 3 GBDT回归算法 1 初始化弱学习器 2 对于迭代轮数t 1 2 T有 3 得到强学习器f x 的表达式 4 GBDT分类算法 4 1 二元GBDT分类算法 4 2
  • Spring Boot自动扫描

    进行Spring Boot和Mybatis进行整合的时候 Spring Boot注解扫描的时候无法扫描到Application类的以外的包下面的注解 如下图 App就是Application类 下图是ProductMapper 类 Mapp
  • 函数的参数(形参与实参)的理解

    函数的参数 实际参数 实参 真实传给函数的参数 叫实参 实参可以是 常量 变量 表达式 函数等 无论实参是何种类型的量 在进行函数调用时 它们必须有确定的值 以便把这些值传送给形参 形式参数 形参 形式参数是指函数名后括号中的变量 因为形式
  • springboot项目响应信息Jackson解析映射,key为null时抛异常解决办法

    当使用 RestController注解时 会把响应信息自动解析成json格式 使用的是Jackson 但是Jackson默认不解析key为null的映射时会抛出异常 需要增加配置 解决 import com fasterxml jacks
  • 执行npm run dev 报【<--- Last few GCs --->内存溢出】

    setx NODE OPTIONS max old space size 10240 cmd 运行 set NODE OPTIONS max old space size 4096 这两个都试过都不行 欲哭无泪 后来听大佬说要下载 npm
  • yum与apt的区别

    一般来说著名的 Linux 系统基本上分两大类 RedHat 系列 Redhat Centos Fedora 等 Debian 系列 Debian Ubuntu 等 对比项 rpm yum dpkg apt 系列 RedHat系 RedHa
  • 什么是加密(Encrypt)?什么是哈希(Hash)?

    加密 Encrypt 加密的概念 假设有一个参数k和一种变换方式E 原始信息 m 通过变换 E 得到一个新的字符串c 公式为 c E m 那么我们就称原始信息 m 为明文 新字符串 c 为密文 将明文转化为密文的过程叫做加密 E 这种变换方
  • Your password has expired. To log in you must change it using a client that supports expired pa

    这个是初始密码问题 有两张方法 我这里用的是命令行的方法 即进入相应mysql目录 再修改密码的方法 首先输入mysqld defaults file F Program Files x86 MySQL my ini skip grant
  • std::bind

    std bind是函数模板 是一个函数 使用std bind可以将可调用对象和参数一起绑定 绑定后的结果使用std function进行保存 并延迟调用到任何我们需要的时候 std bind返回一个基于f的函数对象 其参数被绑定到args上
  • 一个老程序员告诉你:中国程序员为什么要跳槽

    http www jizhuomi com career 318 html
  • Rust学习笔记

    Rust学习笔记 文章目录 Rust学习笔记 1 0 Rust概述 Rust语言的特点 rust适合的领域 1 1 安装 配置开发环境 安装rust linux windows 配置开发环境 1 2 cargo Cargo 是什么 carg
  • 【满分】【华为OD机试真题2023 JAVA&JS】微服务的集成测试

    华为OD机试真题 2023年度机试题库全覆盖 刷题指南点这里 微服务的集成测试 知识点深搜 时间限制 1s 空间限制 256MB 限定语言 不限 题目描述 现在有n个容器服务 服务的启动可能有一定的依赖性 有些服务启动没有依赖 其次服务自身
  • 程序人生:无他,唯心向尔

    无他 唯心向尔 哎 怎么说呢 太长时间没写日记了 手和脑袋都有些生疏 不知道如何下笔 如何结尾 那还是老规矩 随波逐流地跟着beyond的歌写吧 希望这碗 鸡汤 不会给你带来油腻的感觉 今天我 寒夜里看雪飘过 怀着冷却了的心窝飘远方 贵州那
  • 利用QT进行web与本地混合应用开发

    利用QT进行web与本地混合应用开发 T 利用QT进行web与本地混合应用开发 Qt Features for Hybrid Web Native Application Development 原文参见 http www qtsoftwa
  • YOLOv8目标检测PySide6 GUI可视化界面

    课程链接 https edu csdn net course detail 38552 YOLOv8目标检测PySide6 GUI可视化界面效果图如下 YOLOv8目标检测PySide6 GUI可视化界面支持本地图片和视频推理 摄像头实时视
  • PyTorch深度学习实践笔记#8

    嗨 我是error 我来记录PyTorch深度学习实践的笔记了 这会是这个系列的最后一篇文章 个人之前都是使用tensorflow进行深度学习实践 这是第一次学习Pytorch 若笔记有误欢迎提出纠正 课件采用自B站 刘二大人 老师的视频
  • Latex常用数学公式整理——矩阵

    文章目录 1 简单矩阵 2 复杂矩阵 1 简单矩阵 带 的矩阵 begin pmatrix 0 0 0 0 1 0 0 0 0 end pmatrix 0
  • Jaspersoft 环境搭建和入门简单实例

    JasperReport简介 JasperReport是一个强大 灵活的报表生成工具 能够展示丰富的页面内容 并将之转换成PDF HTML 或者XML格式 该库完全由Java写成 可以用于在各种Java应用程序 包括J2EE Web应用程序
  • BFS(广度优先算法)——判断无向简单图中任意两点是否连通

    include
  • dojo SplitContainer

    SplitContainer author amushen email amushen yahoo com cn qq 38371354 相关的文件 dojo widget LayoutContainer dojo widget HtmlW