怎么将一个层随着滚动条的拖动而始终定位在浏览器中央,而可以手工拖动???

bbc2188 2002-11-17 12:48:50
怎么将一个层随着滚动条的拖动而始终定位在浏览器中央,而可以手工拖动???
...全文
116 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
bbc2188 2002-11-20
  • 打赏
  • 举报
回复
我看看,回头就给分
CXZ9 2002-11-18
  • 打赏
  • 举报
回复
这是ColdFusion自动生成的代码
<SCRIPT LANGUAGE="JavaScript">

//This page uses the 'Stalker' floating menu JavaScript module by Spotted Antelope, Inc. (http://www.spottedantelope.com).
//This script is protected by US Copyright law. No portion of it may be re-used, modified or altered without the express written permission
//of Spotted Antelope, Inc., its agents or assigns.
//This script may not be used without this header under any circumstances.
//For more information, contact Bill Womack (bw@spottedantelope.com)

self.onError=null;

currentX = currentY = 0;
whichIt = null;
lastScrollX = 0; lastScrollY = 0;

NS = (document.layers) ? 1 : 0;
IE = (document.all) ? 1: 0;

<!-- STALKER CODE -->
function heartBeat() {

if(IE) { diffY = document.body.scrollTop; diffX = document.body.scrollLeft; }
if(NS) { diffY = self.pageYOffset; diffX = self.pageXOffset; }

if(diffY != lastScrollY) {
percent = .1 * (diffY - lastScrollY);
if(percent > 0) percent = Math.ceil(percent);
else percent = Math.floor(percent);
if(IE) document.all.floater.style.pixelTop += percent;
if(NS) document.floater.top 2B= percent;
lastScrollY = lastScrollY + percent;
}
if(diffX != lastScrollX) {
percent = .1 * (diffX - lastScrollX);
if(percent > 0) percent = Math.ceil(percent);
else percent = Math.floor(percent);
if(IE) document.all.floater.style.pixelLeft += percent;
if(NS) document.floater.left += percent;
lastScrollX = lastScrollX + percent;
}
}
<!-- /STALKER CODE -->

<!-- DRAG DROP CODE -->
function checkFocus(x,y) {
stalkerx = document.floater.pageX;
stalkery = document.floater.pageY;
stalkerwidth = document.floater.clip.width;
stalkerheight = document.floater.clip.height;
if( (x > stalkerx && x < (stalkerx+stalkerwidth)) && (y > stalkery && y < (stalkery+stalkerheight))) return true;
else return false;
}

function grabIt(e) {
if(IE) {
whichIt = event.srcElement;
while (whichIt.id.indexOf("floater") == -1) {
whichIt = whichIt.parentElement;
if (whichIt == null) { return true; }
}
whichIt.style.pixelLeft = whichIt.offsetLeft;
whichIt.style.pixelTop = whichIt.offsetTop;
currentX = (event.clientX + document.body.scrollLeft);
currentY = (event.clientY + document.body.scrollTop);
} else {
window.captureEvents(Event.MOUSEMOVE);
if(checkFocus (e.pageX,e.pageY)) {
whichIt = document.floater;
StalkerTouchedX = e.pageX-document.floater.pageX;
StalkerTouchedY = e.pageY-document.floater.pageY;
}
}
return true;
}

function moveIt(e) {
if (whichIt == null) { return false; }
if(IE) {
newX = (event.clientX + document.body.scrollLeft);
newY = (event.clientY + document.body.scrollTop);
distanceX = (newX - currentX); distanceY = (newY - currentY);
currentX = newX; currentY = newY;
whichIt.style.pixelLeft 2B= distanceX;
whichIt.style.pixelTop += distanceY;
if(whichIt.style.pixelTop < document.body.scrollTop) whichIt.style.pixelTop = document.body.scrollTop;
if(whichIt.style.pixelLeft < document.body.scrollLeft) whichIt.style.pixelLeft = document.body.scrollLeft;
if(whichIt.style.pixelLeft > document.body.offsetWidth - document.body.scrollLeft - whichIt.style.pixelWidth - 20) whichIt.style.pixelLeft = document.body.offsetWidth - whichIt.style.pixelWidth - 20;
if(whichIt.style.pixelTop > document.body.offsetHeight + document.body.scrollTop - whichIt.style.pixelHeight - 5) whichIt.style.pixelTop = document.body.offsetHeight 2B document.body.scrollTop - whichIt.style.pixelHeight - 5;
event.returnValue = false;
} else {
whichIt.moveTo(e.pageX-StalkerTouchedX,e.pageY-StalkerTouchedY);
if(whichIt.left < 0+self.pageXOffset) whichIt.left = 0+self.pageXOffset;
if(whichIt.top < 0+self.pageYOffset) whichIt.top = 0+self.pageYOffset;
if( (whichIt.left + whichIt.clip.width) >= (window.innerWidth+self.pageXOffset-17)) whichIt.left = ((window.innerWidth+self.pageXOffset)-whichIt.clip.width)-17;
if( (whichIt.top + whichIt.clip.height) >= (window.innerHeight+self.pageYOffset-17)) whichIt.top = ((window.innerHeight+self.pageYOffset)-whichIt.clip.height)-17;
return false;
}
return false;
}

function dropIt() {
whichIt = null;
if(NS) window.releaseEvents (Event.MOUSEMOVE);
return true;
}
<!-- DRAG DROP CODE -->

if(NS) {
window.captureEvents(Event.MOUSEUP|Event.MOUSEDOWN);
window.onmousedown = grabIt;
window.onmousemove = moveIt;
window.onmouseup = dropIt;
}
if(IE) {
document.onmousedown = grabIt;
document.onmousemove = moveIt;
document.onmouseup = dropIt;
}

if(NS || IE) action = window.setInterval("heartBeat()",1);

</SCRIPT>

=======================
◢◣。 ◢◣。
◢★◣。 ◢★◣。
◢■■◣。 ◢■■◣。
◢■■■◣。 ◢■■■◣。
︸︸||︸︸ !!︸︸||︸︸
愿您
CXZ9 2002-11-18
  • 打赏
  • 举报
回复
这是ColdFusion自动生成的代码
<SCRIPT LANGUAGE="JavaScript">

//This page uses the 'Stalker' floating menu JavaScript module by Spotted Antelope, Inc. (http://www.spottedantelope.com).
//This script is protected by US Copyright law. No portion of it may be re-used, modified or altered without the express written permission
//of Spotted Antelope, Inc., its agents or assigns.
//This script may not be used without this header under any circumstances.
//For more information, contact Bill Womack (bw@spottedantelope.com)

self.onError=null;

currentX = currentY = 0;
whichIt = null;
lastScrollX = 0; lastScrollY = 0;

NS = (document.layers) ? 1 : 0;
IE = (document.all) ? 1: 0;

<!-- STALKER CODE -->
function heartBeat() {

if(IE) { diffY = document.body.scrollTop; diffX = document.body.scrollLeft; }
if(NS) { diffY = self.pageYOffset; diffX = self.pageXOffset; }

if(diffY != lastScrollY) {
percent = .1 * (diffY - lastScrollY);
if(percent > 0) percent = Math.ceil(percent);
else percent = Math.floor(percent);
if(IE) document.all.floater.style.pixelTop += percent;
if(NS) document.floater.top 2B= percent;
lastScrollY = lastScrollY + percent;
}
if(diffX != lastScrollX) {
percent = .1 * (diffX - lastScrollX);
if(percent > 0) percent = Math.ceil(percent);
else percent = Math.floor(percent);
if(IE) document.all.floater.style.pixelLeft += percent;
if(NS) document.floater.left += percent;
lastScrollX = lastScrollX + percent;
}
}
<!-- /STALKER CODE -->

<!-- DRAG DROP CODE -->
function checkFocus(x,y) {
stalkerx = document.floater.pageX;
stalkery = document.floater.pageY;
stalkerwidth = document.floater.clip.width;
stalkerheight = document.floater.clip.height;
if( (x > stalkerx && x < (stalkerx+stalkerwidth)) && (y > stalkery && y < (stalkery+stalkerheight))) return true;
else return false;
}

function grabIt(e) {
if(IE) {
whichIt = event.srcElement;
while (whichIt.id.indexOf("floater") == -1) {
whichIt = whichIt.parentElement;
if (whichIt == null) { return true; }
}
whichIt.style.pixelLeft = whichIt.offsetLeft;
whichIt.style.pixelTop = whichIt.offsetTop;
currentX = (event.clientX + document.body.scrollLeft);
currentY = (event.clientY + document.body.scrollTop);
} else {
window.captureEvents(Event.MOUSEMOVE);
if(checkFocus (e.pageX,e.pageY)) {
whichIt = document.floater;
StalkerTouchedX = e.pageX-document.floater.pageX;
StalkerTouchedY = e.pageY-document.floater.pageY;
}
}
return true;
}

function moveIt(e) {
if (whichIt == null) { return false; }
if(IE) {
newX = (event.clientX + document.body.scrollLeft);
newY = (event.clientY + document.body.scrollTop);
distanceX = (newX - currentX); distanceY = (newY - currentY);
currentX = newX; currentY = newY;
whichIt.style.pixelLeft 2B= distanceX;
whichIt.style.pixelTop += distanceY;
if(whichIt.style.pixelTop < document.body.scrollTop) whichIt.style.pixelTop = document.body.scrollTop;
if(whichIt.style.pixelLeft < document.body.scrollLeft) whichIt.style.pixelLeft = document.body.scrollLeft;
if(whichIt.style.pixelLeft > document.body.offsetWidth - document.body.scrollLeft - whichIt.style.pixelWidth - 20) whichIt.style.pixelLeft = document.body.offsetWidth - whichIt.style.pixelWidth - 20;
if(whichIt.style.pixelTop > document.body.offsetHeight + document.body.scrollTop - whichIt.style.pixelHeight - 5) whichIt.style.pixelTop = document.body.offsetHeight 2B document.body.scrollTop - whichIt.style.pixelHeight - 5;
event.returnValue = false;
} else {
whichIt.moveTo(e.pageX-StalkerTouchedX,e.pageY-StalkerTouchedY);
if(whichIt.left < 0+self.pageXOffset) whichIt.left = 0+self.pageXOffset;
if(whichIt.top < 0+self.pageYOffset) whichIt.top = 0+self.pageYOffset;
if( (whichIt.left + whichIt.clip.width) >= (window.innerWidth+self.pageXOffset-17)) whichIt.left = ((window.innerWidth+self.pageXOffset)-whichIt.clip.width)-17;
if( (whichIt.top + whichIt.clip.height) >= (window.innerHeight+self.pageYOffset-17)) whichIt.top = ((window.innerHeight+self.pageYOffset)-whichIt.clip.height)-17;
return false;
}
return false;
}

function dropIt() {
whichIt = null;
if(NS) window.releaseEvents (Event.MOUSEMOVE);
return true;
}
<!-- DRAG DROP CODE -->

if(NS) {
window.captureEvents(Event.MOUSEUP|Event.MOUSEDOWN);
window.onmousedown = grabIt;
window.onmousemove = moveIt;
window.onmouseup = dropIt;
}
if(IE) {
document.onmousedown = grabIt;
document.onmousemove = moveIt;
document.onmouseup = dropIt;
}

if(NS || IE) action = window.setInterval("heartBeat()",1);

</SCRIPT>

=======================
◢◣。 ◢◣。
◢★◣。 ◢★◣。
◢■■◣。 ◢■■◣。
◢■■■◣。 ◢■■■◣。
︸︸||︸︸ !!︸︸||︸︸
愿您
meizz 2002-11-17
  • 打赏
  • 举报
回复
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>跟随屏幕移动的图像</title>
<style type="text/css">
#floater {position: absolute;left: 500;top: 146;width: 125;visibility: visible;z-index: 10;}
</style></head>

<body>
<div ID="floater" style="left: 490px; top: 158px">
<p align="center"><img SRC="http://expert.csdn.net/images/csdn.gif" alt="图片显示的文字" WIDTH="225" HEIGHT="160"><br></p>
<table><tr><td height=1000></td></tr></table></div>

<script LANGUAGE="JavaScript"><!--
self.onError=null;
currentX = currentY = 0;
whichIt = null;
lastScrollX = 0; lastScrollY = 0;
NS = (document.layers) ? 1 : 0;
IE = (document.all) ? 1: 0;

<!-- STALKER CODE -->
function heartBeat() {
if(IE) { diffY = document.body.scrollTop; diffX = document.body.scrollLeft; }
if(NS) { diffY = self.pageYOffset; diffX = self.pageXOffset; }
if(diffY != lastScrollY) {
percent = .1 * (diffY - lastScrollY);
if(percent > 0) percent = Math.ceil(percent);
else percent = Math.floor(percent);
if(IE) document.all.floater.style.pixelTop += percent;
if(NS) document.floater.top += percent;
lastScrollY = lastScrollY + percent;
}
if(diffX != lastScrollX) {
percent = .1 * (diffX - lastScrollX);
if(percent > 0) percent = Math.ceil(percent);
else percent = Math.floor(percent);
if(IE) document.all.floater.style.pixelLeft += percent;
if(NS) document.floater.left += percent;
lastScrollX = lastScrollX + percent;
}
}
<!-- /STALKER CODE -->

<!-- DRAG DROP CODE -->
function checkFocus(x,y) {
stalkerx = document.floater.pageX;
stalkery = document.floater.pageY;
stalkerwidth = document.floater.clip.width;
stalkerheight = document.floater.clip.height;
if( (x > stalkerx && x < (stalkerx+stalkerwidth)) && (y > stalkery && y < (stalkery+stalkerheight))) return true;
else return false;
}
function grabIt(e) {
if(IE) {
whichIt = event.srcElement;
while (whichIt.id.indexOf("floater") == -1) {
whichIt = whichIt.parentElement;
if (whichIt == null) { return true; }
}
whichIt.style.pixelLeft = whichIt.offsetLeft;
whichIt.style.pixelTop = whichIt.offsetTop;
currentX = (event.clientX + document.body.scrollLeft);
currentY = (event.clientY + document.body.scrollTop);
} else {
window.captureEvents(Event.MOUSEMOVE);
if(checkFocus (e.pageX,e.pageY)) {
whichIt = document.floater;
StalkerTouchedX = e.pageX-document.floater.pageX;
StalkerTouchedY = e.pageY-document.floater.pageY;
}
}
return true;
}
function moveIt(e) {
if (whichIt == null) { return false; }
if(IE) {
newX = (event.clientX + document.body.scrollLeft);
newY = (event.clientY + document.body.scrollTop);
distanceX = (newX - currentX); distanceY = (newY - currentY);
currentX = newX; currentY = newY;
whichIt.style.pixelLeft += distanceX;
whichIt.style.pixelTop += distanceY;
if(whichIt.style.pixelTop < document.body.scrollTop) whichIt.style.pixelTop = document.body.scrollTop;
if(whichIt.style.pixelLeft < document.body.scrollLeft) whichIt.style.pixelLeft = document.body.scrollLeft;
if(whichIt.style.pixelLeft > document.body.offsetWidth - document.body.scrollLeft - whichIt.style.pixelWidth - 20) whichIt.style.pixelLeft = document.body.offsetWidth - whichIt.style.pixelWidth - 20;
if(whichIt.style.pixelTop > document.body.offsetHeight + document.body.scrollTop - whichIt.style.pixelHeight - 5) whichIt.style.pixelTop = document.body.offsetHeight + document.body.scrollTop - whichIt.style.pixelHeight - 5;
event.returnValue = false;
} else {
whichIt.moveTo(e.pageX-StalkerTouchedX,e.pageY-StalkerTouchedY);
if(whichIt.left < 0+self.pageXOffset) whichIt.left = 0+self.pageXOffset;
if(whichIt.top < 0+self.pageYOffset) whichIt.top = 0+self.pageYOffset;
if( (whichIt.left + whichIt.clip.width) >= (window.innerWidth+self.pageXOffset-17)) whichIt.left = ((window.innerWidth+self.pageXOffset)-whichIt.clip.width)-17;
if( (whichIt.top + whichIt.clip.height) >= (window.innerHeight+self.pageYOffset-17)) whichIt.top = ((window.innerHeight+self.pageYOffset)-whichIt.clip.height)-17;
return false;
}
return false;
}
function dropIt() {
whichIt = null;
if(NS) window.releaseEvents (Event.MOUSEMOVE);
return true;
}

<!-- DRAG DROP CODE -->
if(NS) {
window.captureEvents(Event.MOUSEUP|Event.MOUSEDOWN);
window.onmousedown = grabIt;
window.onmousemove = moveIt;
window.onmouseup = dropIt;
}
if(IE) {
document.onmousedown = grabIt;
document.onmousemove = moveIt;
document.onmouseup = dropIt;
}
if(NS || IE) action = window.setInterval("heartBeat()",1);
// --></script>
</body>

</html>
bbc2188 2002-11-17
  • 打赏
  • 举报
回复
怎么将一个层随着滚动条的拖动而始终定位在浏览器中央,而且
可以手工拖动???
saintKnight 2002-11-17
  • 打赏
  • 举报
回复
判断鼠标位置是不是在层上。
动运行概述操作系统具有一项称为自动运行的特性。当插入一张带有自动运行菜单程序的光盘到光盘驱动器中,系统会自动加载并启动自动运行菜单。使用这项特性,可以为光盘创建一个良好的用户操作界面。例如,通过自动运行菜单,可以运行安装程序(或其它程序)、打开使用文档、运行演示程序、浏览文件夹以及执行多种其它操作。   创建自动运行的光盘如果光盘的根目录下有一个命名为 autorun.inf 的文件,操作系统就会自动加载该文件中指定的程序,并作为自动运行菜单将其启动。通常,autorun.inf 文件包括以下几行内容。   字段就是光盘自动运行菜单的程序文件名,icon 字段是光盘显示于资源管理器中的图标,可以是一个图标文件,也可以是可执行文件中的一个图标资源。如果要创建一张可自动运行的光盘,就必须编写一个作为自动运行菜单的程序,并编辑 autorun.inf 文件。   软件功能使用 AutoPlay Menu Builder,可以方便快捷地创建自动运行菜单。无需任何编程知识,只要通过点击和拖放鼠标,使用内置的控件“画”出菜单界面,并设置好控件属性,程序会帮您完成其它工作。程序会自动创建 autorun.exe、autorun.ico、autorun.inf 以及 autorun.apm 文件,其中 autorun.apm 文件是自动运行菜单的数据文件。如果选定了创建可独立运行的执行文件选项,菜单数据会附加在 autorun.exe 文件中,意外着您不需要刻录 autorun.apm 文件到光盘中。如果需要在菜单运行前安装一些字体,程序还将创建一个名为 FontData 的目录来存放字体文件。请自行尝试一下,您会发现本软件的功能还有许多。   工作选项点击菜单查看->选项,可以设置程序的工作选项。   显示网格在设计窗口上绘制点阵以形成网格对齐控件到网格自动对齐控件到临近的网格同时编辑所有选定控件的属性当选定多个控件时,使用属性编辑器修改所有控件的属性,或者仅修改第一个控件的属性网格大小设置网格点阵中两点之间的距离测试时最小化其它窗口测试菜单时,最小化主窗口、控件栏、属性编辑器、对齐面板、布局预览以及素材库窗口。   创建压缩的数据文件以压缩方式存储数据文件,可以减小文件大小,但需要花费更多的时间加载和保存项目。   创建可独立运行的执行文件保存项目时附加菜单数据即 autorun.apm 文件的内容到 autorun.exe 文件中。激活此选项,则不需要刻录 autorun.apm 文件到光盘上,但仍需要使用 autorun.apm 文件编辑和修改菜单。   项目管理新建项目点击菜单文件->新建或工具栏按钮新建,将会弹出下面的对话框。   键入用于存储新项目的路径,选择新项目需要继承的模板,点击确定按钮即可在指定路径中创建一个新项目。关于模板的更多信息,请查阅使用模板。   打开项目点击菜单文件->打开或工具栏按钮打开,选择已经存在的项目文件,则可以加载选定的菜单项目到编辑器中。点击菜单文件->重新打开或工具栏按钮打开的下拉列表,可以显示最近打开过的项目列表,并打开其中的一个项目。   保存项目点击菜单文件->保存或工具栏按钮保存,可以保存对当前项目所做的修改。   测试项目点击菜单文件->测试或工具栏按钮测试,可以切换设计和测试状态,方便快捷地测试您的工作成果,不需编译。点击菜单文件->外部测试,可以启动项目输出的可执行文件 autorun.exe 进行测试。   保护项目点击菜单文件->口令保护,输入保护口令,则可以要求在打开项目进行编辑时输入编辑口令。这个功能可以防止您的菜单项目被别人修改。如果需要禁用口令,在设置口令对话框中输入空口令即可。   虚拟驱动器专家虚拟驱动器专家是一个小巧实用的工具。它可以创建映射到目录的虚拟磁盘,就像 DOS 命令 SUBST 一样。比 SUBST 更加强大的是,虚拟驱动器专家拥有一个友好而易于使用的图形用户界面,并且,它能够在系统重新启动时自动恢复所有虚拟驱动器。使用它,您可以创建一个虚拟磁盘,用来组织需要刻录到光盘上的数据,并基于此虚拟磁盘创建自动运行菜单项目。可以通过菜单工具->虚拟驱动器专家启动该工具。   独立执行文件转换如果在选项对话框中激活了创建可独立运行的执行文件选项,就可以把菜单数据嵌入到 autorun.exe 文件中,从而使它脱离菜单数据文件 autorun.apm 运行。   如果您已经丢失了项目的原始数据文件 autorun.apm,但尚留存独立执行文件 autorun.exe,此时您可以通过本转换工具将独立执行文件转换为原始项目数据文件。转换后,您就可以打开该数据文件进行编辑。   可以通过菜单工具->独立执行文件转换启动该转换工具。   刻录光盘完成自动运行菜单的制作后,就可以将它刻录到光盘上。将以下文件和目录放到光盘的根目录下。   :菜单程序文件:光盘图标:自动运行配置文件:菜单数据文件,如果在选项对话框中激活了创建可独立运行的执行文件选项,则不需要:特殊字体目录使用模板从模板新建项目点击菜单文件->新建或工具栏按钮新建,将会弹出下面的对话框。   键入用于存储新项目的路径,选择新项目需要继承的模板,点击确定按钮即可在指定路径中创建一个新项目。   安装模板点击模板->安装菜单,选择模板包文件,即可从 .zip 压缩文件中安装模板。   分发模板点击模板->打包菜单,可以将选定的模板打包为 .zip 文件,用于存档或分发给其它用户。   删除模板选定需要删除的模板,按下 DELETE 键,或点击菜单模板->删除,可以删除选定的模板。例外:由于空白菜单是一个虚拟的菜单项,所以不能被删除。   创建模板点击主窗口中的菜单文件->另存为模板,将会弹出下面的对话框,帮助您将当前正在编辑的项目保存为新的模板。您需要键入新模板的名称、作者及说明,程序会根据当前视图自动创建预览图像。模板创建完成之后,就能在新建对话框的模板列表中找到新的模板。   项目属性点击菜单编辑->项目属性或工具栏按钮项目属性,可以编辑项目的相关属性。   常规图标自定义菜单程序的图标,也即光盘显示于资源浏览器中的图标。   光标、热点光标与文本光标自定义菜单程序的光标样式,其中,热点光标是动作控件的光标样式,而文本光标为文本框控件中的光标样式。   起始页面菜单启动时显示的页面。   第一页一直可见一直显示第一页上的内容,无论当前页面是哪一页。   背景音乐选择菜单的背景音乐,支持 MP3/MP2/MP1/OGG/WAV/MID/RMI/XM/IT/MOD/S3M/MTM 等十数种音乐格式。背景音乐将嵌入到数据文件 autorun.apm 中。   循环控制:循环播放背景音乐或只播放一次。   自动播放:菜单启动时自动播放背景音乐。   自动控制:当菜单窗口激活时自动播放背景音乐,而当菜单窗口移到后台时自动停止背景音乐。   按下[ESC]键时退出当用户按下[ESC]键时退出菜单程序。   不在任务栏显示在任务栏中隐藏菜单程序。   使用系统信息框弹出信息时,使用系统默认的信息框,而不使用程序提供的 Office 风格的信息框。   窗口菜单中隐藏“关于”项隐藏菜单窗口系统菜单中的关于菜单项。   工具提示当移动鼠标到动作控件上方时,可以弹出一条工具提示,并且可以使用漂亮的自定义风格替换系统默认的工具提示风格。   使用自定义工具提示使用自定义风格的工具提示,不选定则使用系统默认的工具提示风格。   方位工具提示相对于鼠标位置的访问。如果指定方位没有足够的屏幕空间用来显示工具提示,会自动调整到其它方位。   背景工具提示的背景风格。   颜色工具提示使用的各种颜色。   外观字体及阴影设置。   测试用来测试自定义风格工具提示的按钮。   延迟指定工具提示的延迟时间,包括从鼠标移入控件到显示工具提示的延迟时间,以及在鼠标不移出控件的情况下,从显示工具提示到工具提示消失的延迟时间。   启动窗口和结束窗口启动窗口是启动自动运行菜单时显示的窗口,而结束窗口则是退出菜单时显示的窗口。可以在启动窗口和结束窗口中使用不规则外观以及淡入淡出特效。测试按钮可以测试启动窗口和结束窗口的实际效果。如果选定了不规则外观,并且载入一幅动态 GIF 图像,启动窗口和结束窗口将表现为极酷的动画窗口。   注意:JPEG 图像不能用来创建不规则外观的窗口,因为 JPEG 是有损压缩格式,没有绝对单一的背景颜色。   另外,未注册版本制作的菜单会显示一个固定的启动窗口,不能修改。   启动需要管理员权限在用户没有管理员权限时,弹出一段信息并退出自动运行菜单。   启动时运行程序或打开文档在启动菜单前,可以运行一个程序、打开一个文档甚至访问一个网页。如果选定了运行程序或打开文档后退出选项,菜单会在启动其它程序或文档后立即退出,仅仅作为一个启动器的功能。如果选定了等待程序结束选项,菜单会一直等待直到启动的程序或文档退出后蔡会继续运行,但此功能在某些特定情况下可能失效,请自行仔细测试。如果要在启动菜单前访问一个网页,可以在文件名编辑框中输入完整的网页地址,而输入 mailto:xxx@yyy.com 则可以启动邮件客户端撰写并发送一封电子邮件。   过期设置给自动运行菜单设置一个过期时间,并在过期后显示一段信息。同时,可以允许用户输入一个解锁码解除过期限制。注意,本程序不是一个加密工具,这种过期保护是非常弱的,如果需要较强的保护效果,请使用其它的专业工具。   字体如果在自动运行菜单中使用了特殊字体,可以让菜单在运行前自动安装它们。如上图所示,左侧列表是菜单使用的所有字体,右侧列表则是需要在菜单运行前自动安装的特殊字体。请将需要安装的字体从左侧列表添加到右侧列表中。   注意:仅添加菜单中使用的特殊字体,不要添加系统字体。   控件编辑添加控件位于屏幕左侧的控件栏使用图标代表了可以使用在菜单中的所有控件。选定一种控件,然后点击设计窗口中的目标位置,或者在设计窗口中按下鼠标画出一个目标矩形,就可以在设计窗口中添加一个新控件。   如果需要添加多个相同类型的控件,可以在选定控件类型时按住 SHIFT 键。这样,当添加新的控件之后,控件图标会保持在选定状态。点击控件栏上的箭头图标,可以取消控件图标的选定状态。   双击控件栏上的图标,也可以新建一个相应控件。   选择控件在设计窗口中点击一个控件,在它的周围会出现八个小方块,代表它处于选定状态,此时,可以对它进行编辑。如果需要同时选定多个控件,可以按住 SHIFT 键并点击需要选定的控件,也可以在窗口空白处按下鼠标画出矩形来选定一个范围内的控件。   删除控件选定需要删除的控件,然后点击菜单编辑->删除,或者工具栏上的删除按钮,或者直接按下 DELETE 键。删除选定的控件之后,程序会自动选择当前视图中的另一个控件。   克隆控件如果需要创建几个相同的控件,不必依次创建每个控件并修改它们的属性。先创建一个控件并修改属性,选定它,然后点击菜单编辑->克隆,或者工具栏上的克隆按钮,就可以创建一个完全相同的控件,程序会自动选定新创建的克隆控件。您也可以一次选定多个控件并克隆它们。   剪贴板操作您可以剪切或复制选定控件到剪贴板,也可以将剪贴板中的控件插入到菜单中。AutoPlay Menu Builder 使用与大部分 Windows 程序一样的菜单、工具栏按钮以及快捷键来进行剪贴板操作。   移动控件到其它页面点击菜单编辑->移动到页面,可以将选定的控件移动到其它页面。   控件位置与大小在控件上按下鼠标就可以将它拖动到新的位置。选定控件,然后拖动它周围的八个黑色小方块可以改变它的大小。改变控件的位置和大小时,控件会自动对齐到网格。点击菜单查看->选项可以打开选项对话框,设置网格大小以及是否对齐到网格。点击菜单编辑->对齐到网格,可以将选定的控件手工对齐到网格。菜单编辑->移动到底层和编辑->移动到顶层用来调整控件的前后层次。由于某些特殊原因,滚动文本、文本框、Flash 影片、网页浏览器、媒体播放器这几个控件不能位于其它控件的后面。   您还可以使用快捷键来微调(以一个象素为单位)控件的位置和大小。方向键用来调整控件位置,而 SHIFT+方向键则可调整控件的大小。   菜单编辑->锁定控件可以将选定的控件锁定为当前的位置和大小。菜单编辑->组合控件可以将选定的多个控件进行组合,组合之后,这些控件只能被同时选定和移动。   对齐面板菜单查看->对齐面板可以显示或隐藏对齐面板。   使用对齐面板可以将对齐控件到窗口,或者使控件之间相互对齐。控件面板中的每个按钮都有工具提示。如果您不了解某个特定按钮的功能,可以在该按钮上按下鼠标并保持按下状态,按钮上图像的变化反映了该按钮按下后的效果。松开按钮将会执行对齐操作。如果您不想应用当前操作,可以拖动鼠标到对齐面板外部再松开按键。   控件属性选定控件后,属性编辑器中就会显示当前控件的属性。以下控件,热点标签、按钮、图形按钮、炫目标签、炫目文本、形状、文字动画以及图像还具有动作属性。您可以用属性编辑器来修改控件的常规属性和动作属性。同时选定多个同类控件,就可以同时编辑它们的属性。例如,您可以选定所有的按钮,将它们的字体设置为相同的值,或者选定所有的动作控件,修改它们的鼠标音效。 对齐面板菜单查看->对齐面板可以显示或隐藏对齐面板。   使用对齐面板可以将对齐控件到窗口,或者使控件之间相互对齐。控件面板中的每个按钮都有工具提示。如果您不了解某个特定按钮的功能,可以在该按钮上按下鼠标并保持按下状态,按钮上图像的变化反映了该按钮按下后的效果。松开按钮将会执行对齐操作。如果您不想应用当前操作,可以拖动鼠标到对齐面板外部再松开按键。   控件属性选定控件后,属性编辑器中就会显示当前控件的属性。以下控件,热点标签、按钮、图形按钮、炫目标签、炫目文本、形状、文字动画以及图像还具有动作属性。您可以用属性编辑器来修改控件的常规属性和动作属性。同时选定多个同类控件,就可以同时编辑它们的属性。例如,您可以选定所有的按钮,将它们的字体设置为相同的值,或者选定所有的动作控件,修改它们的鼠标音效。   技巧可以通过控件的右键菜单来访问主菜单中的编辑菜单。   动作编辑概述以下控件具有动作属性,热点标签、按钮、图形按钮、炫目标签、炫目文本、形状、文字动画以及图像。使用动作属性,您可以从菜单中运行程序、打开文档、播放影片、浏览网页、发送邮件、浏览文件夹以及执行多种其它操作。   动作类型动作类型属性指明当用户单击控件时执行何种操作。AutoPlay Menu Builder 支持多种动作类型,它们可以满足大部分的需求。   以下是各种动作类型的详细解释。   无不执行任何操作。   运行程序运行一个程序。   打开文档使用系统关联的程序打开一个文档。   浏览文件夹启动资源管理器并浏览指定文件夹。   浏览网页使用默认浏览器打开一个网站或网页。   发送邮件使用默认的邮件客户端撰写并发送一封电子邮件。   弹出信息框使用漂亮的信息库显示一段信息。   显示图像在弹出窗口中显示一幅图像,支持多种显示风格。   启动幻灯放映内建的幻灯放映功能,支持大量图形显示特效。   页面跳转跳转到多页菜单中的其它页面。   最小化最小化菜单窗口。   退出退出自动运行菜单。   退出并弹出光盘退出自动运行菜单并弹出光盘。   动作参数指定动作类型之后,还必须指定执行动作的相关参数。不同的动作类型具有不同的参数。   以下是各种动作类型的参数说明。   无无参数。   运行程序第一个参数是需要运行的程序的文件名,第二个是需要传递给程序的参数,通常为空。   打开文档需要打开的文档的文件名。   浏览文件夹需要浏览的文件夹路径。   浏览网页网站或网页地址。   发送邮件第一个参数是电子邮件地址,第二个是邮件的主题。   弹出信息框需要显示的信息文本。   显示图像图像:需要显示的图像。   窗口风格:弹出窗口的外观风格。   标题:弹出窗口的标题。   淡入淡出:是否在弹出窗口时使用淡入淡出的显示特效。   延迟:淡入淡出特效的延迟时间。   如果图像是动态 GIF 图像,窗口风格为不规则外观,且没有激活淡入淡出特效,则图像将以极酷的动画窗口的方式显示。   启动幻灯放映路径:包含需要进行幻灯放映的图像文件的文件夹。   包含子目录:是否递归搜索所有子目录下的图像文件。   随机顺序:以随机顺序显示图像。   显示:幻灯显示窗口的风格与背景颜色。   背景音乐:放映幻灯时控制背景音乐的播放与停止。   页面跳转需要跳转到的页面名称。   最小化无参数。   退出无参数。   退出并弹出光盘无参数。   在这几种动作运行程序、打开文档以及浏览文件夹的参数中,必须输入文件的全路径名,并可以使用以下三个预定义的宏。   光盘根目录,无论实际的光驱盘符是什么,程序都会进行自动探测。   目录。   目录。   实际上,%CDROM% 宏指向的是 autorun.exe 文件所在的目录,在设计时,它指向菜单项目所在的文件夹。刻录光盘时,一般都是把 autorun.exe 文件放置在光盘的根目录中,因而 %CDROM% 宏也即指向光盘的根目录。   举个例子,如果想打开位于光盘子目录 subdir 下的名为 letter.doc 的文档,就可以输入 %CDROM%\subdirectory\letter.doc 作为参数。您可以从参数编辑框的右键菜单中选择这三个宏。在设计时,您可以在硬盘上创建与待刻录光盘相同的目录结构,并推荐您使用虚拟驱动器专家创建一个虚拟磁盘,这将帮助您更好地编辑、测试您的菜单。当使用程序提供的文件或目录选择对话框选择位于项目所在目录中的文件或目录时,程序会自动将项目路径转换为 %CDROM% 宏定义。   背景音乐控制鼠标单击时执行的额外动作,用来控制背景音乐的播放与停止。   音效对于每一个动作控件,都可以为其指定两个音效,其一是鼠标移入控件范围内时的音效,其二是鼠标单击时的音效。鼠标移入音效与鼠标单击音效是每个控件独立的,除此之外,还有两个相关属性,公共鼠标移入音效与公共鼠标单击音效,这两个属性为所有的动作控件所公有。如果没有为控件设置独立音效,程序会尝试使用公共音效,除非选定了忽略公共音效选项。使用公共音效可以减少菜单数据的大小。   工具提示当鼠标移入控件范围内时,控件可以弹出一个工具提示。除了使用系统默认风格的工具提示,您还可以选择一种可高度自定义的漂亮工具提示,请参阅项目属性中的工具提示页面。   说明当鼠标移入控件范围内时,如果菜单的同一页面中有说明显示器控件,则控件的说明文字会显示于说明显示器中。请参阅说明显示器进一步了解。   图形说明图形说明类似于说明属性,只是使用图像替换了文字。当鼠标移入控件范围内时,如果菜单的同一页面中有图形说明显示器控件,则控件的图形说明会显示于图形说明显示器中。请参阅图形说明显示器进一步了解。   执行动作前最小化指定是否在执行动作前最小化菜单窗口。   执行动作后退出指定是否在执行动作后退出菜单。   多页菜单概述可以创建、编辑多页菜单。如果菜单包含了太多的内容,可以考虑设计为多页菜单。多页菜单中,每一页都使用字符串命名。点击工具栏上的页面切换工具就可以将当前页面设置为指定的页面。   多页菜单具有两个重要的属性。其一是起始页面,指定菜单启动时显示的页面。其二是第一页一直可见,指定是否一直显示第一页上的内容,无论当前页面是哪一页。例如,导航按钮等控件就可以放置在第一页,并选定第一页一直可见属性。   动作类型页面跳转可以在菜单运行时切换到指定的页面。   添加页面点击菜单页面->添加或工具栏按钮添加页面,输入新页面的名称,就可以新建一个空白页面。新页面将被自动选定为当前页面。   删除页面切换到需要删除的页面,点击菜单页面->删除或工具栏按钮删除页面,可以删除当前页面及其上的所有控件。删除之后,被删除页面旁边的页面将被选定为当前页面。   重命名页面切换到需要重命名的页面,点击菜单页面->重命名,输入新名称,则当前页面被重新命名。   克隆页面切换到需要克隆的页面,点击菜单页面->克隆,输入新页面的名称,可以克隆当前页面,新页面上包含原页面上的所有控件。克隆完成之后,新页面将被自动选定为当前页面。   左移页面点击菜单页面->左移,可以向左移动当前页面。   右移页面点击菜单页面->右移,可以向右移动当前页面。   技巧可以通过页面切换工具的右键菜单来访问主菜单中的页面菜单。   素材库概述素材库窗口显示了程序安装目录下 Gallery 子目录的内容。通过这个窗口,您可以轻松访问到这些资源,并把它们添加到菜单中。   素材类型素材库窗口显示了六种类型的素材,包括图形按钮、图像、背景、音乐、音效及光标。点击窗口左上角的按钮可以切换当前显示的素材。   查看方式类似于资源管理器,您可以切换素材库的窗口方式。共有五种不同的查看方式,大图标、小图标、列表、详细信息以及缩略图。需要修改查看方式,请访问素材列表视图中的右键菜单。   应用素材有两种方法可以将素材应用到菜单(控件或主窗口)。   、选定控件或主窗口,双击需要应用的素材,则素材被应用到选定的控件或主窗口。   、在素材上按下鼠标并拖动到目标控件或主窗口上,松开鼠标时,素材被应用到目标控件或主窗口。   如果选定的控件或主窗口不能接受特定的素材,程序会自动创建一个新控件并加载选定的素材。例如,应用图形按钮到主窗口时,程序会自动创建一个图形按钮,并载入选定的图形按钮外观图像。
动运行概述操作系统具有一项称为自动运行的特性。当插入一张带有自动运行菜单程序的光盘到光盘驱动器中,系统会自动加载并启动自动运行菜单。使用这项特性,可以为光盘创建一个良好的用户操作界面。例如,通过自动运行菜单,可以运行安装程序(或其它程序)、打开使用文档、运行演示程序、浏览文件夹以及执行多种其它操作。   创建自动运行的光盘如果光盘的根目录下有一个命名为 autorun.inf 的文件,操作系统就会自动加载该文件中指定的程序,并作为自动运行菜单将其启动。通常,autorun.inf 文件包括以下几行内容。   字段就是光盘自动运行菜单的程序文件名,icon 字段是光盘显示于资源管理器中的图标,可以是一个图标文件,也可以是可执行文件中的一个图标资源。如果要创建一张可自动运行的光盘,就必须编写一个作为自动运行菜单的程序,并编辑 autorun.inf 文件。   软件功能使用 AutoPlay Menu Builder,可以方便快捷地创建自动运行菜单。无需任何编程知识,只要通过点击和拖放鼠标,使用内置的控件“画”出菜单界面,并设置好控件属性,程序会帮您完成其它工作。程序会自动创建 autorun.exe、autorun.ico、autorun.inf 以及 autorun.apm 文件,其中 autorun.apm 文件是自动运行菜单的数据文件。如果选定了创建可独立运行的执行文件选项,菜单数据会附加在 autorun.exe 文件中,意外着您不需要刻录 autorun.apm 文件到光盘中。如果需要在菜单运行前安装一些字体,程序还将创建一个名为 FontData 的目录来存放字体文件。请自行尝试一下,您会发现本软件的功能还有许多。   工作选项点击菜单查看->选项,可以设置程序的工作选项。   显示网格在设计窗口上绘制点阵以形成网格对齐控件到网格自动对齐控件到临近的网格同时编辑所有选定控件的属性当选定多个控件时,使用属性编辑器修改所有控件的属性,或者仅修改第一个控件的属性网格大小设置网格点阵中两点之间的距离测试时最小化其它窗口测试菜单时,最小化主窗口、控件栏、属性编辑器、对齐面板、布局预览以及素材库窗口。   创建压缩的数据文件以压缩方式存储数据文件,可以减小文件大小,但需要花费更多的时间加载和保存项目。   创建可独立运行的执行文件保存项目时附加菜单数据即 autorun.apm 文件的内容到 autorun.exe 文件中。激活此选项,则不需要刻录 autorun.apm 文件到光盘上,但仍需要使用 autorun.apm 文件编辑和修改菜单。   项目管理新建项目点击菜单文件->新建或工具栏按钮新建,将会弹出下面的对话框。   键入用于存储新项目的路径,选择新项目需要继承的模板,点击确定按钮即可在指定路径中创建一个新项目。关于模板的更多信息,请查阅使用模板。   打开项目点击菜单文件->打开或工具栏按钮打开,选择已经存在的项目文件,则可以加载选定的菜单项目到编辑器中。点击菜单文件->重新打开或工具栏按钮打开的下拉列表,可以显示最近打开过的项目列表,并打开其中的一个项目。   保存项目点击菜单文件->保存或工具栏按钮保存,可以保存对当前项目所做的修改。   测试项目点击菜单文件->测试或工具栏按钮测试,可以切换设计和测试状态,方便快捷地测试您的工作成果,不需编译。点击菜单文件->外部测试,可以启动项目输出的可执行文件 autorun.exe 进行测试。   保护项目点击菜单文件->口令保护,输入保护口令,则可以要求在打开项目进行编辑时输入编辑口令。这个功能可以防止您的菜单项目被别人修改。如果需要禁用口令,在设置口令对话框中输入空口令即可。   虚拟驱动器专家虚拟驱动器专家是一个小巧实用的工具。它可以创建映射到目录的虚拟磁盘,就像 DOS 命令 SUBST 一样。比 SUBST 更加强大的是,虚拟驱动器专家拥有一个友好而易于使用的图形用户界面,并且,它能够在系统重新启动时自动恢复所有虚拟驱动器。使用它,您可以创建一个虚拟磁盘,用来组织需要刻录到光盘上的数据,并基于此虚拟磁盘创建自动运行菜单项目。可以通过菜单工具->虚拟驱动器专家启动该工具。   独立执行文件转换如果在选项对话框中激活了创建可独立运行的执行文件选项,就可以把菜单数据嵌入到 autorun.exe 文件中,从而使它脱离菜单数据文件 autorun.apm 运行。   如果您已经丢失了项目的原始数据文件 autorun.apm,但尚留存独立执行文件 autorun.exe,此时您可以通过本转换工具将独立执行文件转换为原始项目数据文件。转换后,您就可以打开该数据文件进行编辑。   可以通过菜单工具->独立执行文件转换启动该转换工具。   刻录光盘完成自动运行菜单的制作后,就可以将它刻录到光盘上。将以下文件和目录放到光盘的根目录下。   :菜单程序文件:光盘图标:自动运行配置文件:菜单数据文件,如果在选项对话框中激活了创建可独立运行的执行文件选项,则不需要:特殊字体目录使用模板从模板新建项目点击菜单文件->新建或工具栏按钮新建,将会弹出下面的对话框。   键入用于存储新项目的路径,选择新项目需要继承的模板,点击确定按钮即可在指定路径中创建一个新项目。   安装模板点击模板->安装菜单,选择模板包文件,即可从 .zip 压缩文件中安装模板。   分发模板点击模板->打包菜单,可以将选定的模板打包为 .zip 文件,用于存档或分发给其它用户。   删除模板选定需要删除的模板,按下 DELETE 键,或点击菜单模板->删除,可以删除选定的模板。例外:由于空白菜单是一个虚拟的菜单项,所以不能被删除。   创建模板点击主窗口中的菜单文件->另存为模板,将会弹出下面的对话框,帮助您将当前正在编辑的项目保存为新的模板。您需要键入新模板的名称、作者及说明,程序会根据当前视图自动创建预览图像。模板创建完成之后,就能在新建对话框的模板列表中找到新的模板。   项目属性点击菜单编辑->项目属性或工具栏按钮项目属性,可以编辑项目的相关属性。   常规图标自定义菜单程序的图标,也即光盘显示于资源浏览器中的图标。   光标、热点光标与文本光标自定义菜单程序的光标样式,其中,热点光标是动作控件的光标样式,而文本光标为文本框控件中的光标样式。   起始页面菜单启动时显示的页面。   第一页一直可见一直显示第一页上的内容,无论当前页面是哪一页。   背景音乐选择菜单的背景音乐,支持 MP3/MP2/MP1/OGG/WAV/MID/RMI/XM/IT/MOD/S3M/MTM 等十数种音乐格式。背景音乐将嵌入到数据文件 autorun.apm 中。   循环控制:循环播放背景音乐或只播放一次。   自动播放:菜单启动时自动播放背景音乐。   自动控制:当菜单窗口激活时自动播放背景音乐,而当菜单窗口移到后台时自动停止背景音乐。   按下[ESC]键时退出当用户按下[ESC]键时退出菜单程序。   不在任务栏显示在任务栏中隐藏菜单程序。   使用系统信息框弹出信息时,使用系统默认的信息框,而不使用程序提供的 Office 风格的信息框。   窗口菜单中隐藏“关于”项隐藏菜单窗口系统菜单中的关于菜单项。   工具提示当移动鼠标到动作控件上方时,可以弹出一条工具提示,并且可以使用漂亮的自定义风格替换系统默认的工具提示风格。   使用自定义工具提示使用自定义风格的工具提示,不选定则使用系统默认的工具提示风格。   方位工具提示相对于鼠标位置的访问。如果指定方位没有足够的屏幕空间用来显示工具提示,会自动调整到其它方位。   背景工具提示的背景风格。   颜色工具提示使用的各种颜色。   外观字体及阴影设置。   测试用来测试自定义风格工具提示的按钮。   延迟指定工具提示的延迟时间,包括从鼠标移入控件到显示工具提示的延迟时间,以及在鼠标不移出控件的情况下,从显示工具提示到工具提示消失的延迟时间。   启动窗口和结束窗口启动窗口是启动自动运行菜单时显示的窗口,而结束窗口则是退出菜单时显示的窗口。可以在启动窗口和结束窗口中使用不规则外观以及淡入淡出特效。测试按钮可以测试启动窗口和结束窗口的实际效果。如果选定了不规则外观,并且载入一幅动态 GIF 图像,启动窗口和结束窗口将表现为极酷的动画窗口。   注意:JPEG 图像不能用来创建不规则外观的窗口,因为 JPEG 是有损压缩格式,没有绝对单一的背景颜色。   另外,未注册版本制作的菜单会显示一个固定的启动窗口,不能修改。   启动需要管理员权限在用户没有管理员权限时,弹出一段信息并退出自动运行菜单。   启动时运行程序或打开文档在启动菜单前,可以运行一个程序、打开一个文档甚至访问一个网页。如果选定了运行程序或打开文档后退出选项,菜单会在启动其它程序或文档后立即退出,仅仅作为一个启动器的功能。如果选定了等待程序结束选项,菜单会一直等待直到启动的程序或文档退出后蔡会继续运行,但此功能在某些特定情况下可能失效,请自行仔细测试。如果要在启动菜单前访问一个网页,可以在文件名编辑框中输入完整的网页地址,而输入 mailto:xxx@yyy.com 则可以启动邮件客户端撰写并发送一封电子邮件。   过期设置给自动运行菜单设置一个过期时间,并在过期后显示一段信息。同时,可以允许用户输入一个解锁码解除过期限制。注意,本程序不是一个加密工具,这种过期保护是非常弱的,如果需要较强的保护效果,请使用其它的专业工具。   字体如果在自动运行菜单中使用了特殊字体,可以让菜单在运行前自动安装它们。如上图所示,左侧列表是菜单使用的所有字体,右侧列表则是需要在菜单运行前自动安装的特殊字体。请将需要安装的字体从左侧列表添加到右侧列表中。   注意:仅添加菜单中使用的特殊字体,不要添加系统字体。   控件编辑添加控件位于屏幕左侧的控件栏使用图标代表了可以使用在菜单中的所有控件。选定一种控件,然后点击设计窗口中的目标位置,或者在设计窗口中按下鼠标画出一个目标矩形,就可以在设计窗口中添加一个新控件。   如果需要添加多个相同类型的控件,可以在选定控件类型时按住 SHIFT 键。这样,当添加新的控件之后,控件图标会保持在选定状态。点击控件栏上的箭头图标,可以取消控件图标的选定状态。   双击控件栏上的图标,也可以新建一个相应控件。   选择控件在设计窗口中点击一个控件,在它的周围会出现八个小方块,代表它处于选定状态,此时,可以对它进行编辑。如果需要同时选定多个控件,可以按住 SHIFT 键并点击需要选定的控件,也可以在窗口空白处按下鼠标画出矩形来选定一个范围内的控件。   删除控件选定需要删除的控件,然后点击菜单编辑->删除,或者工具栏上的删除按钮,或者直接按下 DELETE 键。删除选定的控件之后,程序会自动选择当前视图中的另一个控件。   克隆控件如果需要创建几个相同的控件,不必依次创建每个控件并修改它们的属性。先创建一个控件并修改属性,选定它,然后点击菜单编辑->克隆,或者工具栏上的克隆按钮,就可以创建一个完全相同的控件,程序会自动选定新创建的克隆控件。您也可以一次选定多个控件并克隆它们。   剪贴板操作您可以剪切或复制选定控件到剪贴板,也可以将剪贴板中的控件插入到菜单中。AutoPlay Menu Builder 使用与大部分 Windows 程序一样的菜单、工具栏按钮以及快捷键来进行剪贴板操作。   移动控件到其它页面点击菜单编辑->移动到页面,可以将选定的控件移动到其它页面。   控件位置与大小在控件上按下鼠标就可以将它拖动到新的位置。选定控件,然后拖动它周围的八个黑色小方块可以改变它的大小。改变控件的位置和大小时,控件会自动对齐到网格。点击菜单查看->选项可以打开选项对话框,设置网格大小以及是否对齐到网格。点击菜单编辑->对齐到网格,可以将选定的控件手工对齐到网格。菜单编辑->移动到底层和编辑->移动到顶层用来调整控件的前后层次。由于某些特殊原因,滚动文本、文本框、Flash 影片、网页浏览器、媒体播放器这几个控件不能位于其它控件的后面。   您还可以使用快捷键来微调(以一个象素为单位)控件的位置和大小。方向键用来调整控件位置,而 SHIFT+方向键则可调整控件的大小。   菜单编辑->锁定控件可以将选定的控件锁定为当前的位置和大小。菜单编辑->组合控件可以将选定的多个控件进行组合,组合之后,这些控件只能被同时选定和移动。   对齐面板菜单查看->对齐面板可以显示或隐藏对齐面板。   使用对齐面板可以将对齐控件到窗口,或者使控件之间相互对齐。控件面板中的每个按钮都有工具提示。如果您不了解某个特定按钮的功能,可以在该按钮上按下鼠标并保持按下状态,按钮上图像的变化反映了该按钮按下后的效果。松开按钮将会执行对齐操作。如果您不想应用当前操作,可以拖动鼠标到对齐面板外部再松开按键。   控件属性选定控件后,属性编辑器中就会显示当前控件的属性。以下控件,热点标签、按钮、图形按钮、炫目标签、炫目文本、形状、文字动画以及图像还具有动作属性。您可以用属性编辑器来修改控件的常规属性和动作属性。同时选定多个同类控件,就可以同时编辑它们的属性。例如,您可以选定所有的按钮,将它们的字体设置为相同的值,或者选定所有的动作控件,修改它们的鼠标音效。 对齐面板菜单查看->对齐面板可以显示或隐藏对齐面板。   使用对齐面板可以将对齐控件到窗口,或者使控件之间相互对齐。控件面板中的每个按钮都有工具提示。如果您不了解某个特定按钮的功能,可以在该按钮上按下鼠标并保持按下状态,按钮上图像的变化反映了该按钮按下后的效果。松开按钮将会执行对齐操作。如果您不想应用当前操作,可以拖动鼠标到对齐面板外部再松开按键。   控件属性选定控件后,属性编辑器中就会显示当前控件的属性。以下控件,热点标签、按钮、图形按钮、炫目标签、炫目文本、形状、文字动画以及图像还具有动作属性。您可以用属性编辑器来修改控件的常规属性和动作属性。同时选定多个同类控件,就可以同时编辑它们的属性。例如,您可以选定所有的按钮,将它们的字体设置为相同的值,或者选定所有的动作控件,修改它们的鼠标音效。   技巧可以通过控件的右键菜单来访问主菜单中的编辑菜单。   动作编辑概述以下控件具有动作属性,热点标签、按钮、图形按钮、炫目标签、炫目文本、形状、文字动画以及图像。使用动作属性,您可以从菜单中运行程序、打开文档、播放影片、浏览网页、发送邮件、浏览文件夹以及执行多种其它操作。   动作类型动作类型属性指明当用户单击控件时执行何种操作。AutoPlay Menu Builder 支持多种动作类型,它们可以满足大部分的需求。   以下是各种动作类型的详细解释。   无不执行任何操作。   运行程序运行一个程序。   打开文档使用系统关联的程序打开一个文档。   浏览文件夹启动资源管理器并浏览指定文件夹。   浏览网页使用默认浏览器打开一个网站或网页。   发送邮件使用默认的邮件客户端撰写并发送一封电子邮件。   弹出信息框使用漂亮的信息库显示一段信息。   显示图像在弹出窗口中显示一幅图像,支持多种显示风格。   启动幻灯放映内建的幻灯放映功能,支持大量图形显示特效。   页面跳转跳转到多页菜单中的其它页面。   最小化最小化菜单窗口。   退出退出自动运行菜单。   退出并弹出光盘退出自动运行菜单并弹出光盘。   动作参数指定动作类型之后,还必须指定执行动作的相关参数。不同的动作类型具有不同的参数。   以下是各种动作类型的参数说明。   无无参数。   运行程序第一个参数是需要运行的程序的文件名,第二个是需要传递给程序的参数,通常为空。   打开文档需要打开的文档的文件名。   浏览文件夹需要浏览的文件夹路径。   浏览网页网站或网页地址。   发送邮件第一个参数是电子邮件地址,第二个是邮件的主题。   弹出信息框需要显示的信息文本。   显示图像图像:需要显示的图像。   窗口风格:弹出窗口的外观风格。   标题:弹出窗口的标题。   淡入淡出:是否在弹出窗口时使用淡入淡出的显示特效。   延迟:淡入淡出特效的延迟时间。   如果图像是动态 GIF 图像,窗口风格为不规则外观,且没有激活淡入淡出特效,则图像将以极酷的动画窗口的方式显示。   启动幻灯放映路径:包含需要进行幻灯放映的图像文件的文件夹。   包含子目录:是否递归搜索所有子目录下的图像文件。   随机顺序:以随机顺序显示图像。   显示:幻灯显示窗口的风格与背景颜色。   背景音乐:放映幻灯时控制背景音乐的播放与停止。   页面跳转需要跳转到的页面名称。   最小化无参数。   退出无参数。   退出并弹出光盘无参数。   在这几种动作运行程序、打开文档以及浏览文件夹的参数中,必须输入文件的全路径名,并可以使用以下三个预定义的宏。   光盘根目录,无论实际的光驱盘符是什么,程序都会进行自动探测。   目录。   目录。   实际上,%CDROM% 宏指向的是 autorun.exe 文件所在的目录,在设计时,它指向菜单项目所在的文件夹。刻录光盘时,一般都是把 autorun.exe 文件放置在光盘的根目录中,因而 %CDROM% 宏也即指向光盘的根目录。   举个例子,如果想打开位于光盘子目录 subdir 下的名为 letter.doc 的文档,就可以输入 %CDROM%\subdirectory\letter.doc 作为参数。您可以从参数编辑框的右键菜单中选择这三个宏。在设计时,您可以在硬盘上创建与待刻录光盘相同的目录结构,并推荐您使用虚拟驱动器专家创建一个虚拟磁盘,这将帮助您更好地编辑、测试您的菜单。当使用程序提供的文件或目录选择对话框选择位于项目所在目录中的文件或目录时,程序会自动将项目路径转换为 %CDROM% 宏定义。   背景音乐控制鼠标单击时执行的额外动作,用来控制背景音乐的播放与停止。   音效对于每一个动作控件,都可以为其指定两个音效,其一是鼠标移入控件范围内时的音效,其二是鼠标单击时的音效。鼠标移入音效与鼠标单击音效是每个控件独立的,除此之外,还有两个相关属性,公共鼠标移入音效与公共鼠标单击音效,这两个属性为所有的动作控件所公有。如果没有为控件设置独立音效,程序会尝试使用公共音效,除非选定了忽略公共音效选项。使用公共音效可以减少菜单数据的大小。   工具提示当鼠标移入控件范围内时,控件可以弹出一个工具提示。除了使用系统默认风格的工具提示,您还可以选择一种可高度自定义的漂亮工具提示,请参阅项目属性中的工具提示页面。   说明当鼠标移入控件范围内时,如果菜单的同一页面中有说明显示器控件,则控件的说明文字会显示于说明显示器中。请参阅说明显示器进一步了解。   图形说明图形说明类似于说明属性,只是使用图像替换了文字。当鼠标移入控件范围内时,如果菜单的同一页面中有图形说明显示器控件,则控件的图形说明会显示于图形说明显示器中。请参阅图形说明显示器进一步了解。   执行动作前最小化指定是否在执行动作前最小化菜单窗口。   执行动作后退出指定是否在执行动作后退出菜单。   多页菜单概述可以创建、编辑多页菜单。如果菜单包含了太多的内容,可以考虑设计为多页菜单。多页菜单中,每一页都使用字符串命名。点击工具栏上的页面切换工具就可以将当前页面设置为指定的页面。   多页菜单具有两个重要的属性。其一是起始页面,指定菜单启动时显示的页面。其二是第一页一直可见,指定是否一直显示第一页上的内容,无论当前页面是哪一页。例如,导航按钮等控件就可以放置在第一页,并选定第一页一直可见属性。   动作类型页面跳转可以在菜单运行时切换到指定的页面。   添加页面点击菜单页面->添加或工具栏按钮添加页面,输入新页面的名称,就可以新建一个空白页面。新页面将被自动选定为当前页面。   删除页面切换到需要删除的页面,点击菜单页面->删除或工具栏按钮删除页面,可以删除当前页面及其上的所有控件。删除之后,被删除页面旁边的页面将被选定为当前页面。   重命名页面切换到需要重命名的页面,点击菜单页面->重命名,输入新名称,则当前页面被重新命名。   克隆页面切换到需要克隆的页面,点击菜单页面->克隆,输入新页面的名称,可以克隆当前页面,新页面上包含原页面上的所有控件。克隆完成之后,新页面将被自动选定为当前页面。   左移页面点击菜单页面->左移,可以向左移动当前页面。   右移页面点击菜单页面->右移,可以向右移动当前页面。   技巧可以通过页面切换工具的右键菜单来访问主菜单中的页面菜单。   素材库概述素材库窗口显示了程序安装目录下 Gallery 子目录的内容。通过这个窗口,您可以轻松访问到这些资源,并把它们添加到菜单中。   素材类型素材库窗口显示了六种类型的素材,包括图形按钮、图像、背景、音乐、音效及光标。点击窗口左上角的按钮可以切换当前显示的素材。   查看方式类似于资源管理器,您可以切换素材库的窗口方式。共有五种不同的查看方式,大图标、小图标、列表、详细信息以及缩略图。需要修改查看方式,请访问素材列表视图中的右键菜单。   应用素材有两种方法可以将素材应用到菜单(控件或主窗口)。   、选定控件或主窗口,双击需要应用的素材,则素材被应用到选定的控件或主窗口。   、在素材上按下鼠标并拖动到目标控件或主窗口上,松开鼠标时,素材被应用到目标控件或主窗口。   如果选定的控件或主窗口不能接受特定的素材,程序会自动创建一个新控件并加载选定的素材。例如,应用图形按钮到主窗口时,程序会自动创建一个图形按钮,并载入选定的图形按钮外观图像。
UIDesigner(腾讯公司出品) 在软件设计阶段,交互设计师或者产品经理等常常需要使用一些工具(比如Visio、Axure RP、Flash或者OmniGraffle等)制作出静态稿或者原型来表达设计思想。这些工具是各有各的优势,当然也各有各的缺点啦。那么腾讯CDC是如何设计软件原型的呢?这里向大家介绍我们正在研发的原型设计利器UIDesigner。   首先,先让我们来体验一下UIDesigner制作出来的原型效果。这个原型是一个设置窗体,主要由按钮、复选框、分组框和文本框等控件构成,其中一些按钮还具有响应的动作(如打开另一个界面,关闭窗体等)。如图一所示,这是使用Firework制作出来的交互图。 图一、使用Firework制作出来的设计稿   这种交互图的特点是简单明了,能够表示出各种控件的基本属性(如文本、位置和选中状态等),但它只是一个静态的图片,不能真实表现出每个控件的响应动作,如仅看这张图,是不清楚点击代理服务器设置分组框上的“设置…”按钮会有什么响应的。   那再看看你若使用UIDesigner制作出来的效果:最终输出的是一个EXE可执行文件(见图二左上角),双击运行后就会出现一个与最终实现效果完全一致的窗体(见图二右)。另外,它还是一个具有响应动作的真实原型,例如你若点击了“设置…”按钮,那就会弹出一个新的窗体(见图三)。 图二、使用UIDesinger制作出来的原型 图三、点击“设置…”按钮后弹出的另一窗体   实际上,这个新弹出的窗体都是一个独立的原型,也是由UIDesigner制作出来的。由于它里面的控件同样可以设置下一步的响应动作,所以从总体上来看,众多原型就像一个树状结构,而其中的父节点就是图二中的设置窗体了。这种结构具有一个很大的好处:无论你完成了多个界面的原型,只需要它们之间有链接关系,最后输出的只是一个EXE可执行文件。这样,你可以很方便地与其它人员表达自己的设计思路,让沟通变得更加快捷。   接下来,我们看看这个原型是如何制作出来的。   第一步:建立空白窗体,调整它的大小、风格、标题和Icon 图四、使用UIDesigner制作原型—建立窗体   第二步:从工具箱中拖曳控件到窗体上,修改这些控件的属性(如Text等) 图五、使用UIDesigner制作原型—加入控件   由于UIDesigner具有自动对齐的功能,所以在拖动控件到窗体时就可以完成排版工作,不需要再逐个像素去调整。另外,不单单在加入控件到窗体时,在改变已存在于窗体内的控件的位置或者大小时,自动对齐功能一样会生效。这样,设计者在调整控件大小或者位置时(包括控件与控件,控件与窗体边缘等的距离等情况),工作变得很简单。 图六、使用UIDesigner制作原型—自动对齐功能   第三步:几分钟后,所有的控件都放到窗体并设置好属性了,如下图。 图七、使用UIDesigner制作原型—整体界面效果   此时,设计者就可以使用软件的导出图片或者导出原型功能分享你的设计成果了。当然,现在这种效果还只是一个没有响应动作效果的原型。接下来,我们再给“设置…”按钮加入响应动作。首先,选中“设置…”按钮,然后点击工具栏的“响应”按钮,你将会看到如图八的响应设置窗口。此时,你可以选择打开窗体、打开网页、弹出对话框、修改属性值和关闭本身窗体等五种效果,这里我们选择“打开窗体”,然后在弹出的对话框里指向弹出窗体的文件。最后,点击“完成”按钮即可。 图八、使用UIDesigner制作原型—设置控件的响应动作   到此为止,你就完成了一个与最终实现效果完全一致的高保真原型了。产品经理和开发人员等若想了解你的设计思想就不需要看着长长几页的说明文档了,而只需要运行你输出的原型文件,就可以对你的设计思路一目了然。   UIDesigner除了能让使用者能够快速地搭建起软件界面的高保真原型外,还提供了项目管理,让使用者能够方便地管理工程文件;提供了图片库和模板库功能,让使用者可以方便地重用以前的设计资源;提供了32个Windows客户端软件常用控件,满足使用者的设计需求;提供了多个属性设置入口,分别实现最常用属性设置、一般属性设置和高级属性设置功能。当然,UIDesigner不是专用来设计QQ的,其它的Windows客户端产品都在它的工作范围之内。总的来说呢,使用UIDesigner来制作原型是很高效的,而制作出来的原型也能够实现设计师、产品经理和程序开发工程师三者间的快速沟通,减少不必要的工作内耗。 ------------------------------------------------------------------ GUI_Design_Studio_3.5.94.0 在2008年,这款软件的作者从1,322位付费用户那获得了162,302美元的收入(其中仅12月份就有39,000美元),这令人鼓舞地证明了只要是提供真正价值的服务和软件,就能够创造很好的收入,即使在经济萧条的寒冬里。 GUI Design Studio是一款图形用户界面设计工具,您能用它在不需要编写任何代码或脚本的情况下快速地创建演示原型。使用标准元素绘制个人化的屏幕、窗口以及控件;将它们整合以展示操作工作流然后运行模拟程序测试您的设计。 当您需要绘制一款应用程序的外观或显示怎样将程序的各个部分连接起来时,您就可以使用GUI Design Studio来实现,如: 将产品创意文档化 制作项目提案 需求记录 创建屏幕图样 为开发人员制作详细的规格 为现有产品提出加强方案 以及更多其它用途 为用户以及股东甚至您自己制作展示文件以: 验证设计 找出替代项 评估多个使用场景 系统需求 Microsoft Windows Vista/XP/NT/2000 至少15MB的硬盘空间 推荐不少于256MB的内存 工程 将您的工作组织放到工程里。 每个工程都拥有它自己的文件夹结构。 可连接您计算机或网络上任何地方的其它库工程。 可连接到您计算机或网络上任何地方使您能够方便地获取图片以及其它文件。 创建您想要的并独立于所有工程的个人化设计文件。 创建能重复使用的设计库以及工程之间的一致性。 将图片直接从剪贴板中粘贴到工程文件夹的文件中。 屏幕设计程序 可同时打开多个设计文档并能使用分页界面在文档间快速切换。 可使用标准Windows元素创建图形用户界面(GUI)屏幕,包括框架窗口、会话、菜单、工具栏、标签、按钮、复选框、单选按钮、滚动条、滑动调节框、微调框、组合框、树列表、列表框、编辑框以及静态文本等。 通过现有元素或其它自定义控件创建自定义控制组件。 在其它设计中创建将要使用的控件设计。 以常用的文件格式添加图标与图片。 从能够显示您将获得什么的控件面板中进行拖放操作。 属性编辑程序使您能将每个元素进行自定义。 元素的自动生成功能。 您能在任何地方放置任何元素。 Edge snapping能通过“点击”对屏幕元素进行统一记录。 设计网格向您提供了简单的制作具有一致性设计布局的方法。 只需单键点击就能排列元素组。 均衡地隔开元素组。 调整元素大小以适应其它元素或测量一组其它元素。 聚焦缩小以查看细节设计或聚焦放大以浏览设计概况。使用工具栏按键或键盘或鼠标的滑动缩小放大功能聚焦增量。 使用鼠标的滚动以及滚轮功能快速浏览设计的概况。 剪切、复制与粘贴。 使用可选的canvas向导显示可用的屏幕空间。 通过文本框与书签对您的设计进行注释。 为每个设计添加说明。 选择色彩主题以避免实际功能窗口的混淆。 图标 为图标面板提供快速的访问方式。 工程间可共享常用图标。 工程也能拥有它们独享的图标集。 使用将来在实际产品开发中可能用到的标准ICO文件。 包含的Icon Express编辑程序支持16色、256色以及最大尺寸为127 x 127的真彩图标。 如果愿意同样能整合任意其它的图标编辑应用程序。 展示与原型 在可导航元素(如按键与窗口)之间创建连接以显示控制流程。 为图象添加覆盖保护以及添加其它元素以创建可导航的热点。 支持形式化与非模态的窗口并支持显示、隐藏或微调窗口,以及窗口替换以实现切换效果。 锚点使您能对窗口进行准确定位。 能立即在模拟程序中测试或展示您的设计。 添加消息框以描述可能在真实应用程序中出现的功能。 可创建多种场景,如正常条件下的场景与多个出错场景。 选择要激活的场景或让模拟程序为您选择。 更改有效的屏幕分辨率以查看您的设计如何适应不同的屏幕大小。 在没有进行脚本或代码编写的情况下,所有操作都是以图形模式完成。 ------------------------------------------------------------------ Balsamiq_Mockups_1.8.4 1. 首先安装 AdobeAIRInstaller.exe 2. 安装主程序 MockupsForDesktop.air 3. 使用 keygen 进行注册 在Balsamiq Mockups中绘制界面原型,就像在纸张和白板上手工绘画一样方便快速,而且不用担心出错,因为你完全可以进行回复/重做。在Balsamiq Mockups中设计原型比在纸张和白板可有趣多了! 丰富的控件支持 Balsamiq Mockups预先提供了丰富的控件,如浏览器窗口、媒体播放器组件、圆形图表等,让你信手拈来! 丰富的控件 方便的属性设置 当你选择一个控件时,会立刻出现该控件的属性选项,你可以随时编辑修改属性。 属性设定 无限的恢复/重做,不用担心出错,你可以无限制的进行回复和重做。 开放,可移植的数据 Balsamiq Mockups所生成的数据是易于阅读的XML格式数据,你可以进行方便的移植和重用集成。 开放的数据 多种方式的集成应用,你可以将Balsamiq Mockups集成倒Confluence, Jira, XWiki中. 集成应用 Balsamiq Mockups是一款免费的带有手绘风格的原型设计软件,可以帮助你设计桌面应用软件,Web 2.0 站点, RIA富网络应用程序, Web站点和Web应用软件。 功能和亮点: 操作方面:拖拽,控件分组,甚至元素之间的对齐都做得很到位; 预制了六十多个界面元素,从简单的输入框,下拉框,到经常用得到的导航条,日历,表格,到复杂的Tag Cloud,Cover Flow, 地图,WYSWYG的格式工具栏等,有了这些不用从头画起,其实比用白板都快; 界面元素的修改很简单,比如导航条的几个标签页的label,就是用逗号分隔的文字,下拉框的选项就是分行的文字; 使用xml语言来记录和保存界面元素和布局,从而使其能够快速的导入到你所需的任何一个项目中,或其他工具中。 可以将设计导出成PNG格式的图片; 随着使用的熟练,快捷键便派上用场,超过一半的元素均有快捷方式,这更有助于原型的快速构造,几乎几分钟便可实现一个满意的而复杂的原型设计; 跨平台,Balsamiq Mokups是用Flex和Air实现的,所以在Mac OS, Linux和Windows下都能使用; 不仅仅有桌面版本,还有能集成在Confluence,JIRA,和XWiki中的版本,使得异地在线协作更方便有效。 可以用命令行进行导出操作,这样就能让我写个脚本,从svn里checkout某个目录下的所有设计文件后,导出图片,打包后用邮件发到项目经理,工程师甚至客户那; 跨平台,Balsamiq Mokups是用Flex和Air实现的,所以在Mac OS, Linux和Windows下都能使用;不仅仅有桌面版本,还有能集成在Confluence,JIRA,和XWiki中的版本,使得异地在线协作更方便有效;据作者说,现在这款软件的设计就是用它自己来设计的,经典的“吃自己的狗粮”,这也让我对其更有信心,因为它是开发者为开发者写的软件。 还有值得一提的是Balsamiq Mokups的在GetSatisfaction上的用户支持和服务,作者Peldi对问题报告,新需求的回应很积极和及时。而且根据这个讨论上看,到月底就会有一个专门用来分享界面控件设计的社区网站了,很期待。 再要说的一点是这款软件是要付费的,79美元(也可以免费,具体如何免费,请看网站上的说明),相对于它能节省下来的时间和提高的效率,是很值得的。Peldi说在2008年,这款软件就从1,322位付费用户那获得了162,302美元的收入(其中仅12月份就有39,000美元),这令人鼓舞地证明了只要是提供真正价值的服务和软件,就能够创造很好的收入,即使在经济萧条的寒冬里。

87,955

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧