WinLIKE仿微软视窗属性(二)

2023-10-04 00:30
文章标签 属性 winlike 视窗 微软

本文主要是介绍WinLIKE仿微软视窗属性(二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

上次也简单的说了下WinLIKE的使用,我们创建一个窗口,使用如下代码即可:

var j=new WinLIKE.window('Title',PosLeft,PosTop,Width,Height,z-Index);
j.Attribute=Value;
...
WinLIKE.addwindow(j);

    窗口的位置和大小(宽度和高度)都是以像素(pixel)为单位的。在上述代码的第一行和最后一行之间可以插入窗口的属性信息,比如j.Nam="sohu".注意,这里的使用点成员符号来表示特定窗口的属性,如果想对所有的窗口实现统一的属性管理,可以使用下划线代替点成员符号,比如上面的Nam属性,可以使用_Nam="sohu"这样,前面不用加j标识,这样就表示所有的窗口的名称都是sohu。

    下面列出窗口的属性和其说明:

1.Ttl
    窗口的名称,这个名称最好是保证其唯一性。这个名称类似于我们在框架页面中的框架的名称一样,这样我们就可以在<a href="" target="你的窗口名称">连接</a>这样来使用了,当我们点击连接的时候,就会在我们定义的窗口中打开这个页面。

2.Left
    窗口的左边距浏览器的左边的绝对距离,单位为像素!

3.Top
    窗口的上边距浏览器的上边的绝对距离,单位为像素!

4.Width
    窗口的绝对宽度,单位为像素!这里的绝对宽度是指,无论浏览器的大小如何改变其宽度是不会改变的。

5.Height
    窗口的绝对高度,单位为像素!

6.RLeft
    窗口的左边距浏览器左边的相对距离,这样浏览器的大小改变的时候,其会动态的调整。我们在使用相对属性,比如RLeft,RTop,RWidth,RHeight的时候,我们在定义窗口的时其对应的PosLeft,PosTop,Width,Height就应该用%来表示,比如:
var win = new WinLIKE.window("", 200, "%", "%", 300, 5);
win.RTop = "WinLIKE.browsersize().Height - Height";
win.RWidth = "WinLIKE.browsersize().Width - Width";
这样我们就可以动态的改变窗口的宽度了。

7.RTop
    窗口的上边距浏览器的上边的相对距离!

8.RWidth
    窗口相对浏览器的宽度,当浏览器的大小改变时,窗口的宽度会按比例进行缩放!

9.RHeight
    窗口的相对浏览器的高度,当浏览器的大小改变时,窗口的高度会按比例进行缩放!

10.Ski
    窗口的皮肤名称,其值应该是skins目录下的文件夹的名称(也就是皮肤的名称)!默认是default

11.Adr
    窗口中内容的URL地址,注意该地址在运行期是只读的,即必须在创建窗口的同时赋予其地址。后期是不允许通过该属性来改变窗口的内容的,只用通过其API方法来改变,这个后面再说!

12.Nam
    窗口的target name,即我们可以通过<a>标签的target来定位到指定名称的窗口中!这个属性在运行期间也是只读的!

13.Fro
    设置窗口是否永远在最前面,无论其他窗口的z-index怎么改变!其值为true或false,默认是false!

14.Vis
    设置窗口是否可见,其值为true或false,默认是true!

15.Tit
    窗口的标题栏是否可见,其值为true或false,默认是true!

16.Min
    窗口的最小化按钮是否可见,其值为true或false,默认是true!

17.Cls
    窗口的关闭按钮是否可见,其值为true或false,默认是true!

18.Mov
    设置窗口是否可以移动,其值为true或false,默认是true!

19.Siz
    窗口是否可以通过鼠标来改变大小,其值为true或false,默认是true!

20.Mn
    窗口是否为最小化的,其值为true或false,默认是false,表示创建时不是最小化的!

21.Mx
    窗口是否是最大化的,其值为true或false,默认是false,表示创建时不是最大化的!

22.Ed
    窗口是否可以被编辑,其值为true或false,默认是true,一般情况下我们在开发的时候是不进行编辑的!

23.SD
    窗口的刷新按钮是否可见,就是窗口最左上角的那个刷新按钮。其值为true或false,默认是true!

24.LD
    窗口的DeepLink是否可见,其值为true或false,默认是true!这个一般好象没什么用处,可以关闭!

25.HD
    窗口的前进后退按钮是否可见,其值为true或false,默认是true!这个前进后退按钮和浏览器的前进后退类似,只不过是图标而已。通过这个历史操作,我们可以在一个窗口中进行当前窗口历史URL记录的前进和后退!

26.Bac
    设置是否永远不改变窗口的z-index属性,其值为true或false,默认是false!

27.Rel
    官方的解释是relative/absolute behavior,具体的实际意义不是很清楚!

28.Del
    deleted (not created),运行期间只读!具体意义也没怎么弄清楚,呵呵~~~

29.Bg
    是否指定为后台窗口,默认为false,其值为true或false!

30.onUnload
    窗口的卸载事件,其值类型为字符串型。一般我们就指定其函数名称即可,比如:win.onUnload="myUnload()";

31.onClose
    窗口的关闭事件,其值为字符串型。同上onUnload,不过他是在onUnload之后执行的。

32.onEvent
    窗口的事件集中处理函数,该方法有两个参数,分别是当前窗口对象和事件代码。比如我们定义如下:
win.onEvent="winMag";
function winMag(/*object*/win, /*int*/what)
{
    if (what == 1) alert('最小化!');
    else if (what == 3) alert('关闭!');
}

    这里的what可以表示多个事件,官方手册中没有具体的说明,不过我们可以自己写如下函数,然后进行检测即可!
// 窗口事件代码检测方法
var tmp = new Object(); // 该对象用来存储事件
function winMag(win, what)
{
    if (!tmp[what]) {
        alert(win.Nam + '\n' + what);
        tmp[what] = true;
    }
}
    然后通过鼠标对窗口的操作就可以知道是什么事件了!

33.myP
    窗口的自定义属性,比如win.test="nihao",这样就可以自定义一个属性了!

    上面介绍了窗口的所有基本属性,通过属性定义,我们就可以定义出不同的窗口对象,然后结合API操作方法动态的改变窗口属性等就可以创建一个丰富的桌面式应用程序了!

这篇关于WinLIKE仿微软视窗属性(二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/980

相关文章

vue如何监听对象或者数组某个属性的变化详解

《vue如何监听对象或者数组某个属性的变化详解》这篇文章主要给大家介绍了关于vue如何监听对象或者数组某个属性的变化,在Vue.js中可以通过watch监听属性变化并动态修改其他属性的值,watch通... 目录前言用watch监听深度监听使用计算属性watch和计算属性的区别在vue 3中使用watchE

滚雪球学Java(87):Java事务处理:JDBC的ACID属性与实战技巧!真有两下子!

咦咦咦,各位小可爱,我是你们的好伙伴——bug菌,今天又来给大家普及Java SE啦,别躲起来啊,听我讲干货还不快点赞,赞多了我就有动力讲得更嗨啦!所以呀,养成先点赞后阅读的好习惯,别被干货淹没了哦~ 🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎大家关注&&收藏!持续更新中,up!up!up!! 环境说明:Windows 10

微软正式推出 Spartan 斯巴达浏览器

作为用于替代 IE 浏览器的下一代继任者,微软的 Project Spartan 斯巴达浏览器可算是吊足了玩家们的胃口!如今,在最新的 Windows 10 Build 10049 版本起,它终于正式登场了。 斯巴达浏览器搭载了全新的渲染引擎、新的用户界面并集成了 Cortana 语音助手。功能上新增了稍后阅读列表、阅读视图、F12开发者工具、支持网页注释 (手写涂鸦),可以保存到 O

HTML5自定义属性对象Dataset

原文转自HTML5自定义属性对象Dataset简介 一、html5 自定义属性介绍 之前翻译的“你必须知道的28个HTML5特征、窍门和技术”一文中对于HTML5中自定义合法属性data-已经做过些介绍,就是在HTML5中我们可以使用data-前缀设置我们需要的自定义属性,来进行一些数据的存放,例如我们要在一个文字按钮上存放相对应的id: <a href="javascript:" d

Python中的属性装饰器:解锁更优雅的编程之道

引言 在Python的世界里,装饰器是一个强大的工具,它允许我们以一种非侵入性的方式修改函数或方法的行为。而当我们谈论“属性装饰器”时,则是在探讨如何使用装饰器来增强类中属性的功能。这不仅让我们的代码更加简洁、易读,同时也提供了强大的功能扩展能力。本文将带你深入了解属性装饰器的核心概念,并通过一系列实例展示其在不同场景下的应用,从基础到进阶,再到实际项目的实战经验分享,帮助你解锁Python编程

react笔记 8-17 属性绑定 class绑定 引入图片 循环遍历

1、绑定属性 constructor(){super()this.state={name:"张三",title:'我是一个title'}}render() {return (<div><div>aaaaaaa{this.state.name}<div title={this.state.title}>我是一个title</div></div></div>)} 绑定属性直接使用花括号{}   注

ConstraintLayout布局里的一个属性app:layout_constraintDimensionRatio

ConstraintLayout 这是一个约束布局,可以尽可能的减少布局的嵌套。有一个属性特别好用,可以用来动态限制宽或者高app:layout_constraintDimensionRatio 关于app:layout_constraintDimensionRatio参数 app:layout_constraintDimensionRatio=“h,1:1” 表示高度height是动态变化

Python中的私有属性与方法:解锁面向对象编程的秘密

在Python的广阔世界里,面向对象编程(OOP)是一种强大而灵活的方法论,它帮助我们更好地组织代码、管理状态,并构建可复用的软件组件。而在这个框架内,私有属性与方法则是实现封装的关键机制之一。它们不仅有助于隐藏类内部的具体实现细节,还能保护数据免受外部干扰。今天,让我们一起探索Python中私有属性与方法的魅力所在,了解它们如何在实际开发中发挥重要作用。 引言 随着软件系统变得越来越复杂,维

转:android ro.debuggable属性调试修改(mprop逆向)

android ro属性调试修改(mprop逆向)      大家都知道如果需要调试android 的程序,以下两个条件满足一个就行。第一是apk的配置文件内的AndroidManifest.xml的 android:debuggable=”true”,第二就是/default.prop中ro.debuggable=1。两种方式第一种通常是解包添加属性再打包,随着加壳软件以及apk校验等,容易出