咖喱碗糕`

`∧ ∧︵
ミ^ō^ミ灬)~ ~我是只可爱的狐狸```
http://freedom2130.cnblogs.com
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

HTC小注

Posted on 2005-10-27 02:45  刹那间我存在  阅读(306)  评论(0编辑  收藏  举报
createEventObject方法
--------------------------------------------------------------------------------------
创建一个事件对象,当需要传递事件附加信息给PUBLIC:EVENT元素的fire方法时使用。

格式
oEvent = element.createEventObject()
返回值
返回一个event对象。

备注
相同的event对象无法在多次调用fire方法时被重复使用。

范例
ms-help://MS.MSDNQTR.2003APR.1033/Behavior/workshop/components/htc/reference/methods/createeventobject.htm

oncontentready事件
--------------------------------------------------------------------------------------
连接了行为的元素的内容完全被解析时发生。

格式
<PUBLIC:ATTACH
EVENT = oncontentready
ONEVENT = sEventHandler
FOR = element
ID = sID
/>

属性
EVENT
必选。指定一个动态HTML(DHTML)事件、或任何在HTC参考中列举出的由HTML组件(HTC)指定事件的字符串。
FOR
可选。指定为下面值中一个的字符串,用来识别事件源。
document
引用document对象。
element
默认值。引用行为连接的元素。
window
引用window对象。
ID
可选。组件内PUBLIC:ATTACH元素的唯一识别字符串。这个属性类似于DHTML中的ID属性。
ONEVENT
必选。事件处理函数的直接声明或一份行内脚本的指定字符串。

备注
在事件发生前,该元素的innerHTML属性可能无法返回正确的值。
当事件发生且PUBLIC:COMPONENT元素的literalContent属性为真时,元素行为的文字内容已被存储在innerHTML属性中。这个事件指出元素行为可以访问innerHTML属性。
因为这个事件仅对HTC组件有效,绑定oncontentready事件的唯一方法是使用PUBLIC:ATTACH元素。attachEvent因为只 对标准DHTML事件工作而无法绑定此事件。当一份HTC文件作为Viewlink实现时,oncontentready事件,或其他任何HTC专用事 件,在文档片断中无法连接到元素上。
关于在一份HTC文件和其主文档初始化过程中事件发生的总体看法,请参阅组件初始化。

范例
ms-help://MS.MSDNQTR.2003APR.1033/Behavior/workshop/components/htc/reference/events/oncontentready.htm

oncontentsave事件
--------------------------------------------------------------------------------------
连接了一份元素行为的一个元素的内容被保存或复制前发生。

格式
<PUBLIC:ATTACH
EVENT = oncontentsave
ONEVENT = sEventHandler
FOR = element
ID = sID
/>

属性
EVENT
必选。指定一个动态HTML(DHTML)事件、或任何在HTC参考中列举出的由HTML组件(HTC)指定事件的字符串。
FOR
可选。指定为下面值中一个的字符串,用来识别事件源。
document
引用document对象。
element
默认值。引用行为连接的元素。
window
引用window对象。
ID
可选。组件内PUBLIC:ATTACH元素的唯一识别字符串。这个属性类似于DHTML中的ID属性。
ONEVENT
必选。事件处理函数的直接声明或一份行内脚本的指定字符串。

ondetach事件
--------------------------------------------------------------------------------------
从一个元素解除一份行为的连接前发生。

格式
<PUBLIC:ATTACH
EVENT = ondetach
ONEVENT = sEventHandler
FOR = element
ID = sID
/>

属性
EVENT
必选。指定一个动态HTML(DHTML)事件、或任何在HTC参考中列举出的由HTML组件(HTC)指定事件的字符串。
FOR
可选。指定为下面值中一个的字符串,用来识别事件源。
document
引用document对象。
element
默认值。引用行为连接的元素。
window
引用window对象。
ID
可选。组件内PUBLIC:ATTACH元素的唯一识别字符串。这个属性类似于DHTML中的ID属性。
ONEVENT
必选。事件处理函数的直接声明或一份行内脚本的指定字符串。

备注
ondetach事件允许行为在它从元素完全解除连接前实行一些清除工作。
当使用attachEvent方法连接一个行为到包含叶面的事件时,这个事件允许行为调用detachEvent方法来停止获取来自叶面的通告。使用 PUBLIC:ATTACH元素连接一个行为到叶面上的时间时,行为会在将它从元素解除连接时自动停止获取通告,而不需要在ondetach事件发生时使 用detachEvent方法。

范例
ms-help://MS.MSDNQTR.2003APR.1033/Behavior/workshop/components/htc/reference/events/ondetach.htm

(0 评论 | 0 退回 )


HTC参考----ondocumentready事件
HTML, JavaScript



2004-6-2 | 12:19 上午 (GMT 0) ondocumentready事件
--------------------------------------------------------------------------------------
当包含行为的文档完全被解析时发生。

格式
<PUBLIC:ATTACH
EVENT = ondocumentready
ONEVENT = sEventHandler
FOR = element
ID = sID
/>

属性
EVENT
必选。指定一个动态HTML(DHTML)事件、或任何在HTC参考中列举出的由HTML组件(HTC)指定事件的字符串。
FOR
可选。指定为下面值中一个的字符串,用来识别事件源。
document
引用document对象。
element
默认值。引用行为连接的元素。
window
引用window对象。
ID
可选。组件内PUBLIC:ATTACH元素的唯一识别字符串。这个属性类似于DHTML中的ID属性。
ONEVENT
必选。事件处理函数的直接声明或一份行内脚本的指定字符串。

备注
一份连接到元素的行为会接收ondocumentready和oncontentready的通告,但仅在window.onload事件发生之后。
关于在一份HTC文件和其主文档初始化过程中事件发生的总体看法,请参阅组件初始化。

(0 评论 | 0 退回 )


HTC参考----PUBLIC:ATTACH元素
HTML, JavaScript



2004-6-2 | 12:18 上午 (GMT 0) PUBLIC:ATTACH元素
--------------------------------------------------------------------------------------
绑定一个函数到一个事件上,因此每次事件发生在特殊对象上时函数会被调用。

格式
<PUBLIC:ATTACH
EVENT = "sEvent"
FOR = "sObject"
ID = "sID"
ONEVENT = "sEventHandler"
/>

属性
EVENT
必选。指定一个动态HTML(DHTML)事件、或任何在HTC参考中列举出的由HTML组件(HTC)指定事件的字符串。
FOR
可选。指定为下面值中一个的字符串,用来识别事件源。
document
引用document对象。
element
默认值。引用行为连接的元素。
window
引用window对象。
ID
可选。组件内PUBLIC:ATTACH元素的唯一识别字符串。这个属性类似于DHTML中的ID属性。
ONEVENT
必选。事件处理函数的直接声明或一份行内脚本的指定字符串。

元素信息
父级元素
PUBLIC:COMPONENT
子级元素

最小运行环境
Internet Explorer 5
最小操作系统
Windows 95, Windows NT 4.0

备注
PUBLIC:ATTACH元素是attachEvent方法的一份声明。
当指定的事件发生在连接了行为的元素时,首先调用的是元素的事件处理部分,且在行为的事件处理前。如果多个行为被连接到一个元素,同时多个事件处理部分定义在同一元素的同一事件上,函数在元素事件处理部分调用后会随机地被调用。
当为ONEVENT提供一个值时,避免赋予事件处理部分函数一个已经存在的DHTML事件的名称。使用一个已经存在的DHTML事件的名称可能会递归错误。
事件的名称对所有脚本语言都是大小写敏感的。

范例
ms-help://MS.MSDNQTR.2003APR.1033/Behavior/workshop/components/htc/reference/elements/attach.htm

(0 评论 | 0 退回 )


HTC参考----PUBLIC:COMPONENT元素
HTML, JavaScript



2004-6-1 | 6:53 上午 (GMT 0) PUBLIC:COMPONENT元素
--------------------------------------------------------------------------------------
以HTC指明文件的内容。

微软Internet Explorer 6中的新内容
literalContent属性作为一个新的可能值支持嵌套,创建一份嵌套的文字内容元素行为。

格式
<PUBLIC:COMPONENT
ID = "sID"
lightWeight = "bLight"
literalContent = "sLiteral"
NAME = "sName"
supportsEditMode = "bEditable"
tagName = "sTagName"
URN = "sURN"
>
<!-- 子级元素 -->
</PUBLIC:COMPONENT>

属性
ID
可选。组件内PUBLIC:COMPONENT元素的唯一识别字符串。这个属性类似于DHTML中的ID属性。
lightWeight
可选。指定HTC文件是否包含标签的字符串。如果HTC文件不包含标签,这个属性应当设置为true来改进表现效果。这个属性对任何HTC文件均有效。
true
HTC文件不包含标签,因而无需每次都解析并表现自定义标签。这些标签由HTC文件定义,在主文档中使用。
false
默认值。HTC包含必需解析并表现的自定义标签。这些标签由HTC文件定义,在主文档中使用。
literalContent
可选。指定自定义标签包含的内容是被解析并表现,还是作为数据岛处理的字符串。这个属性仅在HTC文件定义一个元素行为时有效,此时需要使用tagName属性。更多信息请查阅备注。
false
默认值。由tagName属性定义的标签内的文本和标签并作为数据岛处理,而是解析并表现。
nested
Internet Explorer 6及后继版本。Content within the first opening and last closing of the tag defined by the tagName attribute is treated as a data island and is not parsed or rendered.更多信息请查阅使用literalContent属性。
true
Content within the first opening and last closing of the tag defined by the tagName attribute is treated as a data island and is not parsed or rendered.
NAME
可选。指定主文档中提交的行为的名称的字符串。
supportEditMode
可选。指定HTC文件内容是否可编辑的字符串。这个属性仅在HTC文件定义一个元素行为时有效。
true
HTC文件包含的标签可编辑。
false
默认值。HTC文件包含的标签不可编辑。你能够通过对HTC文件中每个元素设定isContentEditable属性为VARIANT_TRUE来重载此属性值。
tagName
可选。指定自定义标签名称的字符串,此标签由HTC文件定义并导入到主文档中。这个属性仅在HTC文件定义一个元素行为时有效。更多信息请查阅备注。
URN
可选。字符串,以统一资源名称(URN)格式,从而唯一识别此组件。因而在多个行为发生在同一名称的事件时可以唯一的识别。当事件发生,event对象的srcUrn属性被设定为发生在事件上行为的URN。

元素信息
子级元素
至多出现一次
PUBLIC:DEFAULTS
一或多次出现
PUBLIC:ATTACH,PUBLIC:EVENT,PUBLIC:METHOD,PUBLIC:PROPERTY
最小运行环境
Internet Explorer 5
最小操作系统
Windows 95, Windows NT 4.0

备注
PUBLIC:COMPONENT元素可以定义两种截然不同类型的行为。一种是连接行为,使用behavior层叠样式表(CSS)属性来修改一个已经存 在的元素的行为。第二种类型,在Internet Explorer 5.5 中介绍,被称作一个元素行为。一个元素行为用来定义如标准的HTML标签一样在网页中使用的自定义标签。
一个元素行为意味着网页中一个自定义标签的创建和使用。因此,当HTC文件定义一个元素行为时有必要定义PUBLIC:COMPONENT元素的tagName属性。如先前指出的,此元素的部分属性为元素行为特别设计。更多信息清查询元素行为。
当多个行为连接到同一元素时,NAME属性特别有用。因为它允许你调用包含文档中需要的行为的属性和方法。如果在一份文档中多个行为被连接到一个< SPAN ID="mySpan">元素,你可以使用下面的格式来设定命名为behaviorABC的行为的delay属性。
mySpan.behaviorABC.delay = 1000;

(0 评论 | 0 退回 )


HTC参考----PUBLIC:DEFAULTS元素
HTML, JavaScript



2004-6-1 | 6:52 上午 (GMT 0) PUBLIC:DEFAULTS元素
--------------------------------------------------------------------------------------
设定一份HTC的默认属性。

格式
<PUBLIC:DEFAULTS
canHaveHTML = "bCanHaveHTML"
contentEditable = "bEditable"
style = "sStyle"
tabStop = "bIsTabStop"
viewInheritStyle = "bInheritsStyle"
viewLinkContent = "bViewLinkContent"
viewMasterTab = "bViewMasterTab"
/>

属性
canHaveHTML
可选。指定为下列之中一个的布尔值。
false
HTC文件定义的标签的内容不能包含HTML标签。
true
HTC文件定义的标签的内容可以包含HTML标签。
contentEditable
可选。指定为下列之中一个的布尔值。
inherit
默认值。对象从它的父级继承内容被用户编辑的能力。
false
HTC文件定义的标签的内容不能编辑。
true
HTC文件定义的标签的内容可以编辑。
style
可选。指定HTC文件定义的标签的样式字符串。
tabStop
可选。指定为下列之中一个的布尔值。
false
默认值。HTC文件定义的标签不可被TAB选择激活。
true
HTC文件定义的标签可以被TAB选择激活。
viewInheritStyle
可选。指定为下列之中一个的布尔值。
false
Viewlink不从主HTML文件中继承样式。
true
默认值。Viewlink从主HTML文件中继承样式。
viewLinkContent
可选。指定为下列之中一个的布尔值。
false
默认值。HTC文件的文档中标签不作为viewlink使用。
true
HTC文件的文档中标签作为viewlink使用。
viewMasterTab
可选。指定为下列之中一个的布尔值。
false
viewlink的主元素不包含在主文档的TAB序列中。
true
默认值。viewlink的主元素包含在主文档的TAB序列中。

元素信息
父级元素
PUBLIC:COMPONENT
子级元素

最小运行环境
Internet Explorer 5
最小操作系统
Windows 95, Windows NT 4.0

(0 评论 | 0 退回 )


HTC参考----PUBLIC:EVENT元素
HTML, JavaScript



2004-5-31 | 1:01 上午 (GMT 0) PUBLIC:EVENT元素
--------------------------------------------------------------------------------------
定义一个HTC的事件,使之暴露于包含该HTC的文档。

格式
<PUBLIC:EVENT
ID = "sEventID"
NAME = "sName"
/>

属性
ID
可选。组件内PUBLIC:EVENT元素的唯一识别字符串。这个属性类似于DHTML中的ID属性。
NAME
必选。指定主文档中提交的事件的名称的字符串。

方法
eventID.fire([oEvent])
包含的文档发生事件。
这个方法有下面的参数:
oEvent
指定event对象包含的附加信息的对象。

元素信息
父级元素
PUBLIC:COMPONENT
子级元素

最小运行环境
Internet Explorer 5
最小操作系统
Windows 95, Windows NT 4.0

备注
通过指定一个NAME属性,类似于一个已经为元素定义的标准事件,一个行为可以重载元素默认的行为。
行为定义的事件不起泡。它们只发生在连接了行为的元素上。

范例
ms-help://MS.MSDNQTR.2003APR.1033/Behavior/workshop/components/htc/reference/elements/event.htm

(0 评论 | 0 退回 )


HTC参考----PUBLIC:METHOD元素
HTML, JavaScript



2004-5-31 | 1:00 上午 (GMT 0) PUBLIC:METHOD元素
--------------------------------------------------------------------------------------
定义一个HTC的方法,使之暴露于包含该HTC的文档。

格式
<PUBLIC:METHOD
ID = "sID"
INTERNALNAME = "sInternalName"
NAME = "sName"
/>

属性
ID
可选。组件内PUBLIC:METHOD元素的唯一识别字符串。这个属性类似于DHTML中的ID属性。
INTERNALNAME
可选。包含文档中指定方法提交的名称的字符串。默认情况下,NAME也指定提交到组件内的方法,除非INTERNALNAME属性被指定。

元素信息
父级元素
PUBLIC:COMPONENT
子级元素

最小运行环境
Internet Explorer 5
最小操作系统
Windows 95, Windows NT 4.0

备注
当指定NAME属性与一个已经为该元素定义的标准方法的名称相同时,一个行为可以重载元素的默认行为。

范例
ms-help://MS.MSDNQTR.2003APR.1033/Behavior/workshop/components/htc/reference/elements/method.htm

(0 评论 | 0 退回 )



HTC参考----PUBLIC:PROPERTY元素
HTML, JavaScript



2004-5-31 | 12:59 上午 (GMT 0) PUBLIC:PROPERTY元素
--------------------------------------------------------------------------------------
定义一个HTC的属性,使之暴露于包含该HTC的文档。

格式
<PUBLIC:PROPERTY
GET = "sGetFunction"
ID = "sPropertyID"
INTERNALNAME = "sInternalName"
NAME = "sName"
PERSIST = "bPersist"
PUT = "sPutFunction"
value = "vvalue"
/>

属性
GET
可选。指定属性值被获得时调用的函数的字符串。一个只指定了GET属性而没有指定PUT属性的PUBLIC:PROPERTY元素是一个只读属性。
ID
可选。组件内PUBLIC:PROPERTY元素的唯一识别字符串。这个属性类似于DHTML中的ID属性。
INTERNALNAME
可选。包含文档中指定方法提交的名称的字符串。这个内部的名称必须在组件内任意参考前广泛的关联;否则,一个脚本错误出现,指出名称未定义。如果没有内部的名称被指定,默认情况下使用NAME属性。
NAME
必选。指定暴露给包含文档的属性的名称的字符串。默认情况下,NAME的指定也用于组件内属性的提交,除非INTERNALNAME属性被指定。
PERSIST
可选。指定是否坚持属性作为叶面的部分的布尔值。
PUT
可选。指定属性值被设定时调用的函数的字符串。一个指定了GET和PUT属性的PUBLIC:PROPERTY元素是一个读写属性。一个PUT函数被指定,而指定GET函数指定失败,会导致该属性只可写,一般来说这是不希望出现的。
value
可选。指定属性默认值的变量。

方法
propertyID.fireChange()
通报包含文档属性值在元素上发生onpropertychange事件时被改变。如果属性没有PUT属性被指定,在包含文档中属性被设定时onpropertychange会自动发生。

元素信息
父级元素
PUBLIC:COMPONENT
子级元素

最小运行环境
Internet Explorer 5
最小操作系统
Windows 95, Windows NT 4.0

备注
当指定NAME属性与一个已经为该元素定义的标准方法的名称相同时,一个行为可以重载元素的默认行为。
如果PUT或GET属性被指定,INTERNALNAME属性被忽略。通过在PUT和GET属性中指定的函数来设定与/或获得属性值,优先级高于通过INTERNALNAME设定和/或获得属性值。
PUT属性指定的函数必须注意包含文档中的元素使用PUBLIC:PROPERTY元素的fireChange方法改变属性值的情况。调用这个方法导致 onpropertychange事件发生在包含文档的相应元素,同时event对象的propertyName设定为属性的名称。

范例
ms-help://MS.MSDNQTR.2003APR.1033/Behavior/workshop/components/htc/reference/elements/property.htm

(0 评论 | 0 退回 )


HTC参考
HTML, JavaScript



2004-5-28 | 3:46 上午 (GMT 0) 在微软(R)Internet Explorer 5中介绍,HTML组件(HTCs)提供一种机制来使用脚本作为动态HTML(DHTML)行为实现组件功能。以.htc扩展名保存,一份HTC是一份包 含脚本和一组用于定义组件的HTC特殊元素的HTML文件。此部分包含相关元素和它们支持的成员。

对象
document
在给定的浏览器窗口中表现HTML文档。
element
返回一份主文档中连接行为的标签的参考。
PUBLIC:ATTACH
绑定一个函数到一个事件上,因此每次事件发生在特殊对象上时函数会被调用。
PUBLIC:COMPONENT
以HTC指明文件的内容。
PUBLIC:DEFAULTS
设定一份HTC的默认属性。
PUBLIC:EVENT
定义一个HTC的事件,使之暴露于包含该HTC的文档。
PUBLIC:METHOD
定义一个HTC的方法,使之暴露于包含该HTC的文档。
PUBLIC:PROPERTY
定义一个HTC的属性,使之暴露于包含该HTC的文档。

方法
createEventObject
创建一个事件对象,当需要传递事件附加信息给PUBLIC:EVENT元素的fire方法时使用。

事件
oncontentready
连接了行为的元素的内容完全被解析时发生。
oncontentsave
连接了一份元素行为的一个元素的内容被保存或复制前发生。
ondetach
从一个元素解除一份行为的连接前发生。
ondocumentready
当包含行为的文档完全被解析时发生。

(0 评论 | 0 退回 )


VML学习(7) - Group容器
HTML, JavaScript



2004-5-28 | 3:39 上午 (GMT 0) Group的使用很简单,但功能很强大。它能让一系列的VML对象使用共同的坐标系,它很常用的,基本上如果使用了超过一个VML对象的页面都使用 Group。使用Group还有个好处,就是可以动态改变CoordSize值放大或缩小整个 Group 里面的VML。

<v:group ID="group1" style="position:relative;WIDTH:200px;HEIGHT:200px;" coordsize = "2000,2000">
<v:rect style="WIDTH:2000px;HEIGHT:2000px" fillcolor="#99cccc">
<v:shadow on="t" type="single" color="silver" offset="5pt,5pt">
</v:rect>
<v:oval style="position:relative;top:100;left:100;width:1000;height:1000;z-index:7;" fillcolor="red" strokeColor="red"/>
<v:rect style="position:relative;top:500;left:300;width:1000;height:1000;z-index:8;" fillcolor="blue" strokeColor="blue"/>
<v:line from="200,200" to="1000,1700" style="z-index:9" fillcolor="yellow" strokeColor="yellow" strokeWeight=2pt/>
</v:group>

(0 评论 | 0 退回 )


VML学习(6) - Image(图像)对象
HTML, JavaScript



2004-5-28 | 3:36 上午 (GMT 0) Image 对象从外部调用一个图形文件,只要IE能够显示的格式都可以。需要注意的是,VML只用来显示这张图片,并没有将这图片矢量化,如果以后放大缩小,画质会改变的。

<v:image src="big.GIF" style="position:relative;top:0;left:0;width:165;height:157" />

刚刚查询 MSDN 关于VML资料的时候,左边的相关菜单已经 Unavailable 了,这是否意味着 VML 将被 Microsoft 抛弃?因为有取VML和Flash之长处的 SVG 的崛起,VML 黯然失色,曾经问一个开花过VML软件的老外,他都强烈建议我使用SVG。但我觉得 SVG固然强大,但它和Flash一样,有自己的菜单,有自己固定的区域,和别的网页元素结合的不太好(个人观点),VML还是有其生存意义的。不过可以 肯定,在IE以后的版本,对VML都是支持的。如果你要查询一些VML的原始资料,可以访问下面的地址:http://msdn.microsoft.com/workshop/author/vml/shape/introduction.asp?frame=true
(0 评论 | 0 退回 )


VML学习(5) - Oval(圆)对象
HTML, JavaScript



2004-5-28 | 3:34 上午 (GMT 0) 用VML画圆(Oval)是非常简单的,只要设置圆的高和宽就可以了。当然定位也是常用的:

<v:oval style="position:relative;left:5;top:5;width:100;height:80"/>

还要注意的是,top和left是圆的左上角坐标,width 和 height 是圆的宽和高,不是圆的半径。其圆心坐标是(left-width/2,top-height/2)。
说到圆,不得不想到弧(arc) VML已经定义了弧对象,它有除了圆的基本性质外,两个特殊的属性startangle 和 endangle ,就是起始角度和结束角度,单位是度,而不是弧度:

<v:arc filled=false style="position:relative;width:100;height:100" StartAngle="0" EndAngle="270" />

注意到没有,0角度是从平常的90度开始的。
(0 评论 | 0 退回 )


VML学习(4) - Rect,RoundRect(矩形)对象
HTML, JavaScript



2004-5-28 | 3:32 上午 (GMT 0) 用VML画矩形,必须设置 style="width:50;height:50",其他就没有什么特别的。在这节,顺便讲讲 shadow 对象和 TextBox对象:
<v:Rect style="position:relative;width:100;height:50px"/>

RoundRect顾名思义,是圆角的矩形,这种形状在画流程图的时候很常用,如果加上阴影,就更好看了:
<v:RoundRect style="position:relative;width:100;height:50px">
<v:shadow on="T" type="single" color="#b3b3b3" offset="5px,5px"/>
</v:RoundRect>

在VML里面,True 和 False 可以简写成 T 和 F。Shadow 中的 offset 属性用来设置 偏移原图的 x,y 值。 on 属性用来决定是否显示阴影。在矩形中写字,要用到 TextBox 对象。TextBox 比较关键的属性是 inset(left,top,right,bottom),意思是隔图形边的上下左右多少范围内定位文字:
<v:RoundRect style="position:relative;width:120;height:50px">
<v:shadow on="T" type="single" color="#b3b3b3" offset="5px,5px"/>
<v:TextBox inset="5pt,5pt,5pt,5pt" style="font-size:10.2pt;">Hello world!</v:TextBox>
</v:RoundRect>

当然你也可以直接插入HTML代码,比如说插入一个
<Div style="padding-top:5px;padding-left:5px;padding-right:5px;padding-bottom:5px">Hello World!</Div>
效果是一样的。
(0 评论 | 0 退回 )


VML学习(3) - Line,Polyline(线)对象
HTML, JavaScript



2004-5-28 | 3:30 上午 (GMT 0) Line是做图中最常用的,它有两个特殊的属性 from 和 to ,就是起始点和终止点坐标。
<v:line from="0,0" to="100,50" style="position:relative;"/>

●如果要改变线的样式,LineStyle (Stroke)属性可以做到:
Single(默认),ThinThin,ThinThick,ThickBetweenThin
●如果要改变线的类型,可以用 DashStyle(Stroke)属性:

<v:line style="position:relative" from="0,0" to="100,0" >
<v:stroke dashstyle="Dot"/>
</v:line>

Solid(默认):见上图
ShortDash:
ShortDot:
ShortDashDot:
ShortDashDotDot:
Dot:
Dash:
LongDash:
DashDot:
LongDashDot:
LongDashDotDot:
●在画坐标的时候,需要箭头,VML已经定义好了箭头,在Stroke体现:EndArrow 和 StartArrow 属性,一个是线开始的时候有箭头,另一个是线结束的时候有箭头。箭头的样式也有不少:

<v:line style="position:relative" from="0,0" to="100,0" >
<v:stroke EndArrow="Classic"/>
</v:line>

EndArrow="Block":
EndArrow="Classic":(这个看起来还比较舒服)
EndArrow="Diamond":
StartArrow="Oval":
StartArrow="Open":

PolyLine是 Line 的变形,是不规则的连续的线。它有个特殊的属性 Points ,用来设置每个点的坐标。例如:

<v:PolyLine filled="false" Points="0,0 0,100 20,150 200,100" style="position:relative"/>

一样可以设置它的线的样式和类型以及箭头 ( IE5.0中,PolyLine不支持 Arrow )

<v:PolyLine filled="false" Points="0,0 0,100 20,150 200,100" style="position:relative"/>
<v:stroke StartArrow="Oval" EndArrow="Classic" dashstyle="Dot" />
</v:PolyLine>

(0 评论 | 0 退回 )


VML学习(2) - Shape对象与VML坐标系
HTML, JavaScript



2004-5-28 | 3:28 上午 (GMT 0) Shape是VML最基本的对象,利用它可以画出所有你想要的图形。在VML中,使用的坐标并不是Document的坐标,它有自己的坐标系,这样一来, 动态改变它的坐标,就可以实现放大、缩小、旋转等功能了。shape的 CoordSize 属性就是用来定义坐标的,它有两个参数,<v:shape CoordSize="2800,2800" />, 这里的2800,2800 是横纵坐标被分成了2800个点,并不是HTML里面默认像素。如果没有设置圆点,VML默认是 0,0 (左上角),当然你也可以使用 CoordOrig 属性设置VML的圆点坐标。

<v:shape CoordOrig="-1400,-1400" CoordSize="2800,2800" style="width:500;height:500" />

注意:定义的坐标只是相对的,真正显示的图形大小还需要 style="width:500;height:500" 来定义!

上面的定义后,你可用的坐标是 x(-1400到1400) y(-1400到1400) ,这样的坐标就像数学里面的坐标了,把画版分成了四个块。

在解决实际问题的时候,我发现,IE会自动把可见的VML图象放在相对的(0,0)位置,意思是说,上面两张图如果没有增加两个辅助的坐标,在IE上显示出来是并列的两个正方形。
shape中最主要的属性是Path,它是个功能强大的画笔,语法很简单,由几个字母组成,下面详细讲述:
m x,y:MoveTo把画笔移动到 (x,y);
l x,y:LineTo从当前点到(x,y)画一条线;可以给连续的几个点,VML会连续画出来直到遇到 x 命令。
x:Close结束一条线;
e:End结束画图
shape的其他常用属性:
FillColor:填充颜色,使用HTML中规定的颜色;例如:fillcolor=red
Filled:是否要填充图形,如果图形不是封闭的,也会自动封闭图形进行填充。当Filled="true"(默认),fillcolor才有效果;
StrokeColor:线的颜色;
StrokeWeight:线的宽度;
Title:当鼠标移动到该图形上的时候,显示的文字,和HTML里面的alt、tilte一样;
Type:指定该图形属于那个ShapeType,ShapeType可以为VML制定模版,将在以后加以描述;
前面的这些属性,FillColor、Filled可以在<v:Fill />中使用,StrokeColor、StrokeWeight可以在<v:Stroke />中使用。也可以在 Shape 或者 继承Shape的对象中使用它。

(0 评论 | 0 退回 )


VML学习(1)- VML的基本概念
HTML, JavaScript



2004-5-28 | 3:23 上午 (GMT 0) VML相当于IE里面的画笔,能实现你所想要的图形,而且结合脚本,可以让图形产生动态的效果。VML是微软1999年9月附带IE5.0发布的,在我认 为, VML其实是Word和HTML结合的产物。可以将Word文档另存为HTML,其中的文本和图片可以很容易的转换,但如果是手绘制的图形在以往的IE里 面就无法解释了,如果都转换成图形文件又不太现实。于是微软把Word里面的图形控件结合到IE里面,使IE也具备了绘图功能。
VML的全称是Vector Markup Language(矢量可标记语言),矢量的图形,意味着图形可以任意放大缩小而不损失图形的质量,这在制作地图上有

在VML里面,标记使用的是XML扩张,需要一个namespace(命名空间),你可以使用惯用的“v”作为命名空间,使用IE5.0到IE6.0通用的定义如下:

<html xmlns:v="urn:schemas-microsoft-com:vml">
<STYLE>
v\:* { Behavior: url(#default#VML) }
</STYLE>

xmlns 全称就是XML NameSpace 也就是命名空间。Behavior(行为)也是IE5.0新推出的东西,它的功能非常强大,结合样式表,可以给任何HTML对象增加行为(新的属性、方 法、事件),而在这里,它的用处是把命名空间“v”和系统预定义的行为VML连接。这样定义以后,你就可以使用下面的标记了,和普通的HTML标记有所区 别,每个标记都增加了一个命名空间:

<v:shape></v:shape>

和其他HTML元素一样,VML标记里面可以定义DHTML大部分属性和事件,比如说id,name,title,onmouseover等等。在写法上VML比较灵活,很多属性既可以写在标记里面,又可以独立出一个新的标记来表示:

<v:shape id=shape1 name=shape1 onmouseover="alert(this.id)" StrokeColor=red Path="m 0,0 l 10,10 x e"></v:shape>
等同于下面的写法:
<v:shape id=shape1 name=shape1 onmouseover="alert(this.id)">
<v:Stroke StrokeColor=red/>
<v:Path v="m 0,0 l 10,10 x e"/>
</v:shape>

当然不是所有的属性都可以写成独立的标记,常用的比如说上面的 Stroke(按我的理解可以翻译成线性),Path,Shadow,Fill(填充)等,VML这样的方式可以理解为 shape 的属性分类,使属性更直观。
Shape 对象派生出来的一些对象,更加直接的图象,比如说 Rect(矩形),RoundRect(圆边的矩形),Oval(圆),Line(线),PolyLine(不规则折线),Image(图形文件)等等,以后将对这些对象细细描述。

(0 评论 | 0 退回 )


IIS迁移方法




2004-5-26 | 7:24 上午 (GMT 0) 在系统中%systemroot\winnt\system32\inetsrv\找到一个iissync工具
在command prompt下运行:

iissync \\newserver
(0 评论 | 0 退回 )

将文件从SQL SERVER下载的服务端代码
ASP.NET



2004-5-26 | 6:34 上午 (GMT 0) string strAttId = this.Request.Params["AttachmentID"];
if(strAttId == null)
return;

SqlConnection sqlConn = new SqlConnection("user id=sa;password=;initial catalog=Evernory;data source=192.168.207.181;Connect Timeout=30");
SqlCommand sqlCmd = new SqlCommand();
sqlCmd.CommandText = "proSelFileData";
sqlCmd.CommandType = CommandType.StoredProcedure;
sqlCmd.Connection = sqlConn;

sqlCmd.Parameters.Add("@i_attachmentID",strAttId);

SqlDataReader reader;

sqlConn.Open();
reader = sqlCmd.ExecuteReader();
if(reader.Read())
{
this.Response.Clear();
this.Response.ContentType = reader["ContentType"].ToString();
this.Response.OutputStream.Write((byte[])reader["FileData"],0,int.Parse(reader["FileSize"].ToString()));
// this.Response.AddHeader("Content-Disposition", "inline;filename=" + reader["FileName"].ToString());//直接打开
this.Response.AddHeader("Content-Disposition", "attachment;filename=" + reader["FileName"].ToString());
}
else
{
this.Response.Write("File Not Found.");
}
reader.Close();
sqlConn.Close();

(0 评论 | 0 退回 )


将文件传到SQL SERVER上的服务端代码
ASP.NET



2004-5-26 | 6:31 上午 (GMT 0) int iLength = int.Parse(this.File1.PostedFile.InputStream.Length.ToString());
if(iLength == 0)
return;

string strContentType = this.File1.PostedFile.ContentType;
string strFileName = this.File1.PostedFile.FileName.Trim();

int i = strFileName.LastIndexOf("\\");
if(i != 0)
{
strFileName = strFileName.Substring(i+1);
}

Stream fileDataStream = this.File1.PostedFile.InputStream;
byte[] fileData = new byte[iLength];

SqlConnection sqlConn = new SqlConnection("user id=sa;password=;initial catalog=Evernory;data source=192.168.207.181;Connect Timeout=30");
SqlCommand sqlCmd = new SqlCommand();
sqlCmd.CommandText = "proUpLoadFile";
sqlCmd.CommandType = CommandType.StoredProcedure;
sqlCmd.Connection = sqlConn;

try
{
fileDataStream.Read(fileData,0,iLength);
sqlCmd.Parameters.Add("@i_fileName",strFileName);
sqlCmd.Parameters.Add("@i_fileSize",iLength);
sqlCmd.Parameters.Add("@i_contentType",strContentType);
sqlCmd.Parameters.Add("@i_fileData",fileData);

sqlConn.Open();
sqlCmd.ExecuteNonQuery();
sqlConn.Close();
}
catch(Exception ex)
{
this.lbError.Text = ex.Message.ToString();
}