关于作者

姓名:

性别:男

出生日期:--

地区:山东-潍坊

联系电话:

QQ:--

婚否:保密
用户名:gmfzh
笔名:网际快车
地区: 山东-潍坊
行业:其他

日历  

快速登录

+ 用户名:
+ 密 码:

在线留言



访问统计:
文章个数:25
评论个数:3
留言条数:2




Powered by BlogDriver 2.1

网际快车的博客

 

欢迎访问网际快车的博客,希望能和大家共同学习,共同进步。

文章

asp.net验证码生成类
using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.Web.UI;
using System.Drawing.Drawing2D;
using System.IO;
namespace Validate
{
 /// <summary>
 /// 生成验证码的类
 /// </summary>
 public class ValidateNumber
 {
  public ValidateNumber()
  {
  }
  /// <summary>
  /// 验证码的最大长度
  /// </summary>
  public int MaxLength
  {
   get{return 10;}
  }
  /// <summary>
  /// 验证码的最小长度
  /// </summary>
  public int MinLength
  {
   get{return 1;}
  }
  /// <summary>
  /// 生成验证码
  /// </summary>
  /// <param name="length">指定验证码的长度</param>
  /// <returns></returns>
  public string CreateValidateNumber(int length)
  {
   int[] randMembers=new int[length];
   int[] validateNums=new int[length];
   string validateNumberStr="";
   //生成起始序列值
   int seekSeek=unchecked((int)DateTime.Now.Ticks);
   Random seekRand=new Random(seekSeek);
   int beginSeek=(int)seekRand.Next(0,Int32.MaxValue-length*10000);
   int[] seeks=new int[length];
   for(int i=0;i<length;i++)
   {
    beginSeek+=10000;
    seeks[i]=beginSeek;
   }
   //生成随机数字
   for(int i=0;i<length;i++)
   {
    Random rand=new Random(seeks[i]);
    int pownum=1*(int)Math.Pow(10,length);
    randMembers[i]=rand.Next(pownum,Int32.MaxValue);
   }
   //抽取随机数字
   for(int i=0;i<length;i++)
   {
    string numStr=randMembers[i].ToString();
    int numLength=numStr.Length;
    Random rand=new Random();
    int numPosition=rand.Next(0,numLength-1);
    validateNums[i]=Int32.Parse(numStr.Substring(numPosition,1));
   }
   //生成验证码
   for(int i=0;i<length;i++)
   {
    validateNumberStr+=validateNums[i].ToString();
   }
   return validateNumberStr;
  }
  /// <summary>
  /// 创建验证码的图片
  /// </summary>
  /// <param name="containsPage">要输出到的page对象</param>
  /// <param name="validateNum">验证码</param>
  public void CreateValidateGraphic(Page containsPage,string validateNum)
  {
   Bitmap image=new Bitmap((int)Math.Ceiling(validateNum.Length*12.5),22);
   Graphics g=Graphics.FromImage(image);
   try
   {
    //生成随机生成器
    Random random=new Random();
    //清空图片背景色
    g.Clear(Color.White);
    //画图片的干扰线
    for(int i=0;i<25;i++)
    {
     int x1=random.Next(image.Width);
     int x2=random.Next(image.Width);
     int y1=random.Next(image.Height);
     int y2=random.Next(image.Height);
     g.DrawLine(new Pen(Color.Silver),x1,y1,x2,y2);
    }
    Font font=new Font("Arial",12,(FontStyle.Bold|FontStyle.Italic));
    LinearGradientBrush brush=new LinearGradientBrush(new Rectangle(0,0,image.Width,image.Height),
     Color.Blue,Color.DarkRed,1.2f,true);
    g.DrawString(validateNum,font,brush,3,2);
    //画图片的前景干扰点
    for(int i=0;i<100;i++)
    {
     int x=random.Next(image.Width);
     int y=random.Next(image.Height);
     image.SetPixel(x,y,Color.FromArgb(random.Next()));
    }
    //画图片的边框线
    g.DrawRectangle(new Pen(Color.Silver),0,0,image.Width-1,image.Height-1);
    //保存图片数据
    MemoryStream stream=new MemoryStream();
    image.Save(stream,ImageFormat.Jpeg);
    //输出图片
    containsPage.Response.Clear();
    containsPage.Response.ContentType="image/jpeg";
    containsPage.Response.BinaryWrite(stream.ToArray());
   }
   finally
   {
    g.Dispose();
    image.Dispose();
   }
  }
  /// <summary>
  /// 得到验证码图片的长度
  /// </summary>
  /// <param name="validateNumLength">验证码的长度</param>
  /// <returns></returns>
  public static int GetImageWidth(int validateNumLength)
  {
   return (int)(validateNumLength*12.5);
  }
  /// <summary>
  /// 得到验证码的高度
  /// </summary>
  /// <returns></returns>
  public static double GetImageHeight()
  {
   return 22.5;
  }
 }
}

- 作者: 网际快车 2007年01月10日, 星期三 08:19  回复(2) |  引用(1) 加入博采

一网页间两个flash相互通信(javascript版,转载)!

JavaScript和Macromedia Flash的通信示例
原文地址: www.macromedia.com/support/flash/ts/documents/java_script_comm.htm
说明: 略作修改,主要是一些很初级的操作; 又很多相似的文章,不过这个很权威

下面是一些在Flash和使用Javascript的HTML文件直接通信的示例,每个示例都有简略的步骤

本文讨论了3种基本的Flash/Javascript通信方式:
Javascript 到 Flash的通信----使用Flash播放器的javascript方法
Flash 到 Javascript的通信----使用Flash的fscommand
Flash 到 Flash的通信----------使用本地连接对象或综合上2种技术

并不是所有的浏览器都很重视脚本.为了和Flash播放器通信,浏览器必须有内置的钩子以便Flash播放器可以'监听'.浏览器必须是下列的几种:
Netscape Navigator 3.0-4.7x, 和 Netscape 6.2或更高
(Windows 95/98/NT/2000/XP 或 MacOS; 允许Java和LiveConnect)
Internet Explorer 3.0 或更高
(仅Windows 95/98/NT/2000/XP; 允许ActiveX)

注意:Macintosh上的Internet Explorer和早期版本的Netscape6不支持这种方法.请查看本文的附加信息

Javascript到Flash的通信

这个例子演示了如何使用Flash的method把变量从HTML的input text 发送到该页面中的Flash文件中.HTML input的数据通过Flash的SetVariable方法传送到Flash文件中.

查看示例:示例
下载源文件: javascript_to_flash.zip(17k)

步骤:

Flash中
1.新建一个文件,保存为javascript_to_flash.fla
2.用文字工具在舞台上创建一个文本域
3.选择这个文本域,在属性面板中,从下拉列表中选择动态文本(Dynamic Text),在变量(variable)栏填上"myVar"
注意:最好的习惯是使用Instance,用myVar.text更改myVar的值.为了简单起见和兼容Flash4和Flash5,我们使用的是变量名的形式.
4.保存文件
5.发布HTML文件和SWF文件

Dreamweaver中
下一步的工作转移到Dreamweaver中了,当然也可以是其他的HTML编辑器
1.打开上一步发布的HTML文件
2.插入生成的SWF文件和OBJECT/EMBED标签
(1) Insert>Media>Flash,并选择这个Flash
(2) 切换到代码视图,我们需要修改被选中的<OBJECT>和<EMBED>标签
(3) 在OBJECT标签中,插入id="myFlash"

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/
flash/swflash.cab#version=5,0,0,0"
width=366 height=142id="myFlash">

注意:如果你是粘贴复制代码的话,确保删除不必要的换行.否则可能会引起错误; id也可以在属性面板里直接输入
(4) 在EMBED标签中,插入name="myFlash"和swLiveConnect="true",确保没有使用id属性!代码应当是这样子的:

<embed src="http://www.zhmy.com/javascript_to_flash.swf" quality=high width=366 height=142
type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?
P1_Prod_Version=ShockwaveFlash"
name="myFlash" swLiveConnect="true">
</embed>

3.创建表单域
(1) 回到设计视图
(2) 插入文本域(Insert> Form Object> Text Field),如果询问是否添加表单域,选择是
(3) 把文本域的HTML标签修改成这样:

<input type="text" name="sendText" maxlength="45" onChange="doPassVar(this)">
每当文本域内容发生变化时,onChange就被触发,doPassVar()函数就被调用

4.创建传递变量值的Javascript函数
复制下面的Javascript到<head></head>标签内

<SCRIPT LANGUAGE=JavaScript>
<!--
function doPassVar(args){
var sendText = args.value;
   window.document.myFlash.SetVariable("myVar", sendText);
}
//-->
</SCRIPT>

5.保存文件,测试一下(F12)
 

Flash到Javascript的通信
从HTML可以发送数据到Flash,反过来也可以. 这个例子演示了如何应用Flash的Fscommand来发送数据到Javascript.

查看示例:示例2
下载源文件: flash_to_javascript.zip(10K)

简要步骤:
Flash中
新建一个文件,保存为flash_to_javascript.fla
创建一个文本域,设置成输入文本(Input Text),选择"border"以便我们能看到他,指定他的变量为inputVar
创建一个按钮,在按钮上添加如下的as:

on (release) {
  fscommand ("send_var", inputVar);
}

保存文件,导出HTML和SWF

Dreamweaver中
1.打开导出HTML文件,修改<OBJECT>和<EMBED>标签,结果同上:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/
flash/swflash.cab#version=5,0,0,0"
width=366 height=142 id="myFlash">

<embed src="http://www.zhmy.com/javascript_to_flash.swf" quality=high
width=366 height=142
type="application/x-shockwave-flash"
pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?
P1_Prod_Version=ShockwaveFlash" name="myFlash" swLiveConnect="true">
</embed>

 2. 插入如下的Javascript到<Body>标签内:
<SCRIPT LANGUAGE=JavaScript>
<!--
var InternetExplorer = navigator.appName.indexOf("Microsoft") != -1;
function myFlash_DoFSCommand(command, args)                {
  var myFlashObj = InternetExplorer ? myFlash : document.myFlash;
  alert (args);
}

if (navigator.appName && navigator.appName.indexOf("Microsoft") != -1 &&
  navigator.userAgent.indexOf("Windows") != -1 && navigator.userAgent.indexOf("Windows 3.1") == -1) {
  document.write('<SCRIPT LANGUAGE=VBScript\> \n');
  document.write('on error resume next \n');
  document.write('Sub myFlash_FSCommand(ByVal command, ByVal args)\n');
  document.write(' call myFlash_DoFSCommand(command, args)\n');
  document.write('end sub\n');
  document.write('</SCRIPT\> \n');
}
//-->
</SCRIPT>
 

Flash和Flash的通信
通过上面两种方法的混和使用,同一HTML中两个或者更多的Flash直接可以相互传送消息. 从一个flash使用fscommand传送消息给Javascript,使用Flash的Javascript methods把消息传给另外一个flash

详细的看这里:Flash影片之间的通信示例

从Flash MX开始,local connection对象可以用来在flash之间传送消息. 这使得同一HTML中的或者位于两个浏览器窗口中的两个flash影片可以相互发送消息,而不必使用Javascript或者fscommand
详细的看这里:在Flash MX中使用local connection对象(英文)

本站的localConnection教程:http://www.blueidea.com/tech/multimedia/2003/739.asp

附可控制Flash Player的Javascript方法:
一览表:
Play() ---------------------------------------- 播放动画
StopPlay()------------------------------------停止动画
IsPlaying()----------------------------------- 动画是否正在播放
GotoFrame(frame_number)---------------- 跳转到某帧
TotalFrames()------------------------------- 获取动画总帧数
CurrentFrame()------------------------------回传当前动画所在帧数-1
Rewind()-------------------------------------使动画返回第一帧
SetZoomRect(left,top,right,buttom)-------放大指定区域
Zoom(percent)------------------------------改变动画大小
Pan(x_position,y_position,unit)------------使动画在x,y方向上平移
PercentLoaded()----------------------------返回动画被载入的百分比
LoadMovie(level_number,path)----------- 加载动画
TGotoFrame(movie_clip,frame_number)- movie_clip跳转到指定帧数
TGotoLabel(movie_clip,label_name)------ movie_clip跳转到指定标签
TCurrentFrame(movie_clip)--------------- 回传movie_clip当前帧-1
TCurrentLabel(movie_clip)-----------------回传movie_clip当前标签
TPlay(movie_clip)---------------------------播放movie_clip
TStopPlay(movie_clip)----------------------停止movie_clip的播放
GetVariable(variable_name)-----------------获取变量
SetVariable(variable_name,value)-----------变量赋值
TCallFrame(movie_clip,frame_number)---call指定帧上的action
TCallLabel(movie_clip,label)----------------call指定标签上的action
TGetProperty(movie_clip,property)--------获取movie_clip的指定属性
TSetProperty(movie_clip,property,number)-设置movie_clip的指定属性
 

在 flash mx 以后,由于一系列的安全问题,比如载入另一个站点的 flash文件,然后用javascript控制 flash 跳转到不同的帧,让一些 flash 编写者在安全防范上防不胜防。为此 macromedia 改进了 flash player 和一些交互接口。引入了安全沙箱的概念,也就是可以设置一个可以进行控制的站点列表。

当然在同一个域名下,可以不考虑这个安全沙箱的问题。

- 作者: 网际快车 2006年12月11日, 星期一 15:59  回复(0) |  引用(1) 加入博采

flash8上传文件。
UploadFile.fla


// 加载包
import flash.net.FileReference;
// 定义主角 FileReference 对象
var fileRef:FileReference = new FileReference();
// 定义 监听对象
var fileLsn:Object = new Object();
// 定义 文件类型数组 FileReference 对象的 browse 方法的参数
// description: 描述
// extension : 扩展名列表

var fileTyp:Array = new Array({description:"Image files", extension:"*.jpg;*.gif"}, {description:"Document files", extension:"*.txt;*.doc"});
btnBrowse
.onRelease = function() {
   
// 打开 "选择文件" 对话框
   fileRef.browse(fileTyp);
};
btnUpload
.onRelease = function() {
   
// 开始上传
   fileRef.upload("uploadFile.php");
};
btnClear
.onRelease = function() {
   strState
.text = "";
};
// 选择文件事件
fileLsn.onSelect = function(file:FileReference) {
   strState
.text += "onSelect '"+file.name+"'\n";
};
// 取消选择
fileLsn.onCancel = function(file:FileReference) {
   strState
.text += "Cancel!\n";
};
// 打开文件开始上传
fileLsn.onOpen = function(file:FileReference) {
   strState
.text += "Uploading '"+file.name+"'\n";
};
// 上传成功
fileLsn.onComplete = function(file:FileReference) {
   strState
.text += "File '"+file.name+"' upload successfull!\n";
};
// 上传过程
fileLsn.onProgress = function(file:FileReference, bytesLoaded:Number, bytesTotal:Number):Void {
   strState
.text += "onProgress: "+file.name+" with bytesLoaded: "+bytesLoaded+" bytesTotal: "+bytesTotal+"\n";
};
// HTTP 错误
fileLsn.onHTTPError = function(file:FileReference, httpError:Number) {
   strState
.text += "HTTP ERROR: "+httpError+"\n";
};
// IO 错误
fileLsn.onIOError = function(file:FileReference):Void {
   strState
.text += "IO Error: "+file.name+"\n";
};
// 安全错误
fileLsn.onSecurityError = function(file:FileReference, errorString:String):Void {
   strState
.text += "onSecurityError: "+file.name+" errorString: "+errorString;
};
// 绑定监听器
fileRef.addListener(fileLsn);
// 其他属性或事件请参考帮助中关于 FileReference 对象的章节

UploadFile.aspx

string saveToFolder = "savedFiles"
private void Page_Load(object sender, System.EventArgs e) { 
  HttpFileCollection uploadedFiles =  Request.Files; 
  string Path = Server.MapPath(saveToFolder); 
  for(int i = 0 ; i < uploadedFiles.Count ; i++) 
  { 
    HttpPostedFile F = uploadedFiles[i]; 
    if(uploadedFiles[i] != null && F.ContentLength > 0) 
    {   
      string newName = F.FileName.Substring(F.FileName.LastIndexOf("\\") + 1); 
      F.SaveAs(Path + "/" + newName); 
     } 
   }
}

- 作者: 网际快车 2006年12月11日, 星期一 15:50  回复(1) |  引用(1) 加入博采

在ASP.NET 2.0中使用页面导航控件

    几乎每个网站里,为了方便用户在网站中进行页面导航,都少不了使用页面导航控件。有了页面导航的功能,用户可以很方便地在一个复杂的网站中进行页面之间的跳转。在以往的WEB编程中,要写一个好的页面导航功能,并不是那么容易的,也要使用一些技巧。而在asp.net 2.0中,为了方便进行页面导航,新增了一个叫做页面导航控件sitemapdatasource,其中还可以绑定到不同的其他页面控件,比如treeview,menu等,十分灵活,使到能很方便地实现页面导航的不同形式,而且还提供了运行时的编程接口,可以以编程的形式动态实现页面导航控件。本文将简单以几个例子来介绍一下在asp.net 2.0中如何实现页面导航。
 页面导航的结构和sitemapdatasource控件
 在asp.net 2.0中,要实现页面导航,应该先以xml的形式,提供出整个网站的页面结构层次。我们可以编写一个叫web.sitemap的XML文本文件,在该文件中定义出整个要导航页面的结构层次。举例如下:

<?xml version="1.0" encoding="utf-8" ?>
<siteMap>
 <siteMapNode title="Default" description="Home" url="Default.aspx" >
  <siteMapNode title="Members" description="Members" url="Members.aspx">
   <siteMapNode title="My Account" description="My Account" url="MyAccount.aspx" />
   <siteMapNode title="Products" description="Products" url="Products.aspx" />
  </siteMapNode>
  <siteMapNode title="Administration" description="Administration" url="~/Admin/Default.aspx">
   <siteMapNode title="Customer" description="Customer Admin" url="~/Admin/Customer/default.aspx" />
   <siteMapNode title="Products Admin" description="Products Admin" url="~/Admin/ProductsAdmin.aspx" />
  </siteMapNode>
 </siteMapNode>
</siteMap>

  我们可以看到,其中,web.sitemap文件必须包含根结点sitemap。而且,设置一个父sitemapnode结点,该结点表明是默认的站点首页,在该父sitemapnode结点下,可以有若干个子sitemapnode结点,分别按层次结构代表了网站的各子栏目(留意一下上例中,各个子结点之间的包含关系)。而每一个sitemapnode结点中,有如下若干个属性:
  1)URL属性:该属性指出要导航的栏目的地址链接,在web.sitemap中定义中,必须是每个栏目的相对地址。
  2)Title属性:该属性指出每个子栏目的名称,显示在页面中。
  3)Description属性:该属性指定时,则用户在鼠标移动到该栏目时,出现有关该栏目的相关提示,类似于tooltips属性。
  在设计好sitemap属性后,接下来就可以一步步构建页面导航功能了,主要有两个步骤:
  1) 向页面中添加sitemapdatasource控件。该控件会自动感应绑定web.sitemap中的内容。
  2) 将sitemapdatasource控件绑定到如sitemappath,treeview,menu等控件中,也就是说,将它们的数据源设置为该sitemapdatasource控件。

  知道了方法后,我们下面就分别以treeview,menu,sitemappath三种控件为例子,介绍一下如何和sitemapdatasource控件进行配合使用。
  先来介绍使用treeview控件和sitemapdatasource 控件配合使用的方法。Treeview树形列表控件十分适合于用来做页面导航,为了能具体说明,我们充分利用asp.net中的masterpage控件,先搭建出一个网站的基本框架架构。
  在visual web developer 2005 beta 1中,新建一个网站,之后添加上文的web.sitemap文件,再添加一个名叫Navigation的master类型的页面,代码如下:

<%@ Master Language="C#" %>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Master Page</title>
</head>
<body>
 <form id="form1" runat="server">
  <div>
  <table style="width: 100%; height: 100%" border="1">
  <tr>
   <td style="width: 10%">
    <asp:TreeView ID="TreeView1" Runat="server" DataSourceID="SiteMapDataSource1"
      ExpandDepth="2" ShowExpandCollapse="False" NodeIndent="10">
     <LevelStyles>
      <asp:TreeNodeStyle Font-Bold="True" Font-Underline="False"/>
      <asp:TreeNodeStyle Font-Italic="True" Font-Underline="False" />
      <asp:TreeNodeStyle Font-Size="X-Small" ImageUrl="bullet.gif" Font-Underline="False" />
     </LevelStyles>
     <NodeStyle ChildNodesPadding="10" />
    </asp:TreeView>
   </td>
   <td style="width: 100px">
    <asp:contentplaceholder id="ContentPlaceHolder1" runat="server">
    </asp:contentplaceholder>
   </td>
  </tr>
 </table>
 <asp:SiteMapDataSource ID="SiteMapDataSource1" Runat="server"/>
 </div>
</form>
</body>
</html>

  在上面的代码中,其中的TREEVIEW控件中的DATASORUCE属性中,就指定了sitemapdatasource控件,并且在treeview控件中,也定义了不同结点的样式。
  在完成了masterpage页面后,就等于已经把网站的模版页建立起来了,接下来就可以新建其他子页面,以继承masterpage页面,并且新建各自页面的内容了。比如,新建一个default.aspx页面,代码如下:

<%@ Page Language="C#" MasterPageFile="Navigation.master" Title="Default Page"%>
<asp:Content ContentPlaceHolderID="ContentPlaceHolder1"
ID="Content1" Runat="Server">
This is the default page
</asp:Content>

  可以看到,当建立了模版页后,就可以新建其他的子页面了,只需要在其中的contentplaceholderid中写入不同的内容就可以了。
  接下来,我们来介绍如何将menu菜单控件和sitemapdatasource 控件配合使用。其中,我们在上面的例子的基础上,在<table style="width: 100%; height: 100%" border="1">下面增加如下代码就可以了,

<tr height="100px">
<td colspan="2" align="left">
<asp:Menu ID="Menu1" Runat="Server"
DataSourceID="SiteMapDataSource1">
</asp:Menu>
</td>
</tr>

  其中,我们增加了一个menu控件,其中将其datasourceid属性设定为sitemapdatasource1就可以了,运行如下图,当然,我们可以改变menu控件的显示位置,如可以将其改成垂直样式显示。

  而对于我们经常见到的显示出页面当前路径的导航条功能,在asp.net 2.0中也可以轻易实现,我们可以使用其中的sitemappath控件。我们紧接着在上文代码中的menu控件下,增加如下代码:

<tr height="100px">
<td colspan="2" align="left">
Currently Selected Page is:
<asp:SiteMapPath Runat="Server" ID="SiteMapPath1"></asp:SiteMapPath>
</td>
</tr>
  要注意的是,只要增加sitemappath控件就可以了,因为它会自动和已经增加的sitemapdatasource控件进行绑定的。我们为了说明问题,另外增加一个页面member.aspx,代码如下:

<%@ Page Language="C#" MasterPageFile="Navigation.master" Title="Members Page"%>
<asp:Content ContentPlaceHolderID="ContentPlaceHolder1" ID="Content1" Runat="Server">
This is the members page
</asp:Content>
  最后,我们看一下,如何通过编程的方式来获取页面导航中的相关数据。其中,必须引用到的是sitemap类,该类提供了很多相关的方法和属性,最重要的是currentnode属性,它可以指出当前用户正在浏览的是哪一个栏目页面,这用来跟踪用户在网站中的行动轨迹,并进行站点数据统计,有时是很有用的,举例如下:

<%@ Page Language="C#" MasterPageFile="Navigation.master" Title="Members Page"%>
<script runat="Server">
void Page_Load(object sender, EventArgs e)
{
 Response.Write("The currently selected root node is: " + SiteMap.CurrentNode.Description + "<br>");
 Response.Write("The Parent for the currently selected node is : " +
   SiteMap.CurrentNode.ParentNode.Description);
}
</script>
<asp:Content ContentPlaceHolderID="ContentPlaceHolder1" ID="Content1" Runat="Server">
This is the members page
</asp:Content>

  在这个例子中,使用程序的方式,得出了用户当前正在浏览的栏目页面,以及该栏目的父栏目的名称.
  可以看出,在asp.net 2.0中,实现页面导航的功能十分灵活而且方便,功能十分强大,更多的功能请参考MSDN。

- 作者: 网际快车 2006年10月30日, 星期一 15:20  回复(0) |  引用(1) 加入博采

3DSMAX 快捷键

--  3DSMAX 快捷键

主界面
 
显示降级适配(开关)【O】
适应透视图格点【Shift】+【Ctrl】+【A】
排列【Alt】+【A】
角度捕捉(开关)【A】
动画模式(开关)【N】
改变到后视图【K】
背景锁定(开关)【Alt】+【Ctrl】+【B】
前一时间单位【.】
下一时间单位【,】
改变到上(Top)视图【T】
改变到底(Bottom)视图【B】
改变到相机(Camera)视图【C】
改变到前(Front)视图【F】
改变到等大的用户(User)视图【U】
改变到右(Right)视图【R】
改变到透视(Perspective)图【P】
循环改变选择方式【Ctrl】+【F】
默认灯光(开关)【Ctrl】+【L】
删除物体【DEL】
当前视图暂时失效【D】
是否显示几何体内框(开关)【Ctrl】+【E】
显示第一个工具条【Alt】+【1】
专家模式;全屏(开关)【Ctrl】+【X】
暂存(Hold)场景【Alt】+【Ctrl】+【H】
取回(Fetch)场景【Alt】+【Ctrl】+【F】
冻结所选物体【6】
跳到最后一帧【END】
跳到第一帧【HOME】
显示/隐藏相机(Cameras)【Shift】+【C】
显示/隐藏几何体(Geometry)【Shift】+【O】
显示/隐藏网格(Grids)【G】
显示/隐藏帮助(Helpers)物体【Shift】+【H】
显示/隐藏光源(Lights)【Shift】+【L】
显示/隐藏粒子系统(ParticleSystems)【Shift】+【P】
显示/隐藏空间扭曲(SpaceWarps)物体【Shift】+【W】
锁定用户界面(开关)【Alt】+【0】
匹配到相机(Camera)视图【Ctrl】+【C】
材质(Material)编辑器【M】
最大化当前视图(开关)【ALT】+【W】
脚本编辑器【F11】
新的场景【Ctrl】+【N】
法线(Normal)对齐【Alt】+【N】
向下轻推网格小键盘【-】
向上轻推网格小键盘【+】
NURBS表面显示方式【Alt】+【L】或【Ctrl】+【4】
NURBS调整方格1【Ctrl】+【1】
NURBS调整方格2【Ctrl】+【2】
NURBS调整方格3【Ctrl】+【3】
偏移捕捉【Alt】+【Ctrl】+【空格】
打开一个MAX文件【Ctrl】+【O】
平移视图【Ctrl】+【P】
交互式平移视图【I】
放置高光(Highlight)【Ctrl】+【H】
播放/停止动画【/】
快速(Quick)渲染【Shift】+【Q】
回到上一场景操作【Ctrl】+【A】
回到上一视图操作【Shift】+【A】
撤消场景操作【Ctrl】+【Z】
撤消视图操作【Shift】+【Z】
刷新所有视图【1】
用前一次的参数进行渲染【Shift】+【E】或【F9】
渲染配置【Shift】+【R】或【F10】
在xy/yz/zx锁定中循环改变【F8】
约束到X轴【F5】
约束到Y轴【F6】
约束到Z轴【F7】
旋转(Rotate)视图模式【Ctrl】+【R】或【V】
保存(Save)文件【Ctrl】+【S】
透明显示所选物体(开关)【Alt】+【X】
选择父物体【PageUp】
选择子物体【PageDown】
根据名称选择物体【H】
选择锁定(开关)【空格】
减淡所选物体的面(开关)【F2】
显示所有视图网格(Grids)(开关)【Shift】+【G】
显示/隐藏命令面板【3】
显示/隐藏浮动工具条【4】
显示最后一次渲染的图画【Ctrl】+【I】
显示/隐藏主要工具栏【Alt】+【6】
显示/隐藏安全框【Shift】+【F】
显示/隐藏所选物体的支架【J】
显示/隐藏工具条【Y】/【2】
百分比(Percent)捕捉(开关)【Shift】+【Ctrl】+【P】
打开/关闭捕捉(Snap)【S】
循环通过捕捉点【Alt】+【空格】
声音(开关)【\\】
间隔放置物体【Shift】+【I】
改变到光线视图【Shift】+【4】
循环改变子物体层级【Ins】
子物体选择(开关)【Ctrl】+【B】
帖图材质(Texture)修正【Ctrl】+【T】
加大动态坐标【+】
减小动态坐标【-】
激活动态坐标(开关)【X】
精确输入转变量【F12】
全部解冻【7】
根据名字显示隐藏的物体【5】
刷新背景图像(Background)【Alt】+【Shift】+【Ctrl】+【B】
显示几何体外框(开关)【F4】
视图背景(Background)【Alt】+【B】
用方框(Box)快显几何体(开关)【Shift】+【B】
打开虚拟现实数字键盘【1】
虚拟视图向下移动数字键盘【2】
虚拟视图向左移动数字键盘【4】
虚拟视图向右移动数字键盘【6】
虚拟视图向中移动数字键盘【8】
虚拟视图放大数字键盘【7】
虚拟视图缩小数字键盘【9】
实色显示场景中的几何体(开关)【F3】
全部视图显示所有物体【Shift】+【Ctrl】+【Z】
视窗缩放到选择物体范围(Extents)【E】
缩放范围【Alt】+【Ctrl】+【Z】
视窗放大两倍【Shift】+数字键盘【+】
放大镜工具【Z】
视窗缩小两倍【Shift】+数字键盘【-】
根据框选进行放大【Ctrl】+【w】
视窗交互式放大【[】
视窗交互式缩小【]】

轨迹视图
 
加入(Add)关键帧【A】
前一时间单位【<】
下一时间单位 【>】
编辑(Edit)关键帧模式【E】
编辑区域模式【F3】
编辑时间模式【F2】
展开对象(Object)切换【O】
展开轨迹(Track)切换【T】
函数(Function)曲线模式【F5】或【F】
锁定所选物体【空格】
向上移动高亮显示【↓】
向下移动高亮显示【↑】
向左轻移关键帧【←】
向右轻移关键帧【→】
位置区域模式【F4】
回到上一场景操作【Ctrl】+【A】
撤消场景操作【Ctrl】+【Z】
用前一次的配置进行渲染【F9】
渲染配置【F10】
向下收拢【Ctrl】+【↓】
向上收拢【Ctrl】+【↑】
材质编辑器
 
用前一次的配置进行渲染【F9】
渲染配置【F10】
撤消场景操作【Ctrl】+【Z】
示意(Schematic)视图
 
下一时间单位【>】
前一时间单位【<】
回到上一场景操作 【Ctrl】+【A】
撤消场景操作 【Ctrl】+【Z】

Active Shade
 
绘制(Draw)区域 【D】
渲染(Render) 【R】
锁定工具栏(泊坞窗) 【空格】

视频编辑
 
加入过滤器(Filter)项目 【Ctrl】+【F】
加入输入(Input)项目 【Ctrl】+【I】
加入图层(Layer)项目 【Ctrl】+【L】
加入输出(Output)项目 【Ctrl】+【O】
加入(Add)新的项目 【Ctrl】+【A】
加入场景(Scene)事件 【Ctrl】+【s】
编辑(Edit)当前事件 【Ctrl】+【E】
执行(Run)序列 【Ctrl】+【R】
新(New)的序列 【Ctrl】+【N】
撤消场景*作 【Ctrl】+【Z】

NURBS编辑
 
CV 约束法线(Normal)移动 【Alt】+【N】
CV 约束到U向移动 【Alt】+【U】
CV 约束到V向移动 【Alt】+【V】
显示曲线(Curves) 【Shift】+【Ctrl】+【C】
显示控制点(Dependents) 【Ctrl】+【D】
显示格子(Lattices) 【Ctrl】+【L】
NURBS面显示方式切换 【Alt】+【L】
显示表面(Surfaces) 【Shift】+【Ctrl】+【s】
显示工具箱(Toolbox) 【Ctrl】+【T】
显示表面整齐(Trims) 【Shift】+【Ctrl】+【T】
根据名字选择本物体的子层级 【Ctrl】+【H】
锁定2D 所选物体 【空格】
选择U向的下一点 【Ctrl】+【→】
选择V向的下一点 【Ctrl】+【↑】
选择U向的前一点 【Ctrl】+【←】
选择V向的前一点 【Ctrl】+【↓】
根据名字选择子物体 【H】
柔软所选物体 【Ctrl】+【s】
转换到Curve CV 层级 【Alt】+【Shift】+【Z】
转换到Curve 层级 【Alt】+【Shift】+【C】
转换到Imports 层级 【Alt】+【Shift】+【I】
转换到Point 层级 【Alt】+【Shift】+【P】
转换到Surface CV 层级 【Alt】+【Shift】+【V】
转换到Surface 层级 【Alt】+【Shift】+【S】
转换到上一层级 【Alt】+【Shift】+【T】
转换降级 【Ctrl】+【X】

FFD
 
转换到控制点(Control Point)层级 【Alt】+【Shift】+【C】
到格点(Lattice)层级 【Alt】+【Shift】+【L】
到设置体积(Volume)层级 【Alt】+【Shift】+【S】
转换到上层级 【Alt】+【Shift】+【T】

打开的UVW贴图
 
进入编辑(Edit)UVW模式 【Ctrl】+【E】
调用*.uvw文件 【Alt】+【Shift】+【Ctrl】+【L】
保存UVW为*.uvw格式的文件 【Alt】+【Shift】+【Ctrl】+【S】
打断(Break)选择点 【Ctrl】+【B】
分离(Detach)边界点 【Ctrl】+【D】
过滤选择面 【Ctrl】+【空格】
水平翻转 【Alt】+【Shift】+【Ctrl】+【B】
垂直(Vertical)翻转 【Alt】+【Shift】+【Ctrl】+【V】
冻结(Freeze)所选材质点 【Ctrl】+【F】
隐藏(Hide)所选材质点 【Ctrl】+【H】
全部解冻(unFreeze) 【Alt】+【F】
全部取消隐藏(unHide) 【Alt】+【H】
从堆栈中获取面选集 【Alt】+【Shift】+【Ctrl】+【F】
从面获取选集 【Alt】+【Shift】+【Ctrl】+【V】
锁定所选顶点 【空格】
水平镜象 【Alt】+【Shift】+【Ctrl】+【N】
垂直镜象 【Alt】+【Shift】+【Ctrl】+【M】
水平移动 【Alt】+【Shift】+【Ctrl】+【J】
垂直移动 【Alt】+【Shift】+【Ctrl】+【K】
平移视图 【Ctrl】+【P】
象素捕捉 【S】
平面贴图面/重设UVW 【Alt】+【Shift】+【Ctrl】+【R】
水平缩放 【Alt】+【Shift】+【Ctrl】+【I】
垂直缩放 【Alt】+【Shift】+【Ctrl】+【O】
移动材质点 【Q】
旋转材质点 【W】
等比例缩放材质点 【E】
焊接(Weld)所选的材质点 【Alt】+【Ctrl】+【W】
焊接(Weld)到目标材质点 【Ctrl】+【W】
Unwrap的选项(Options) 【Ctrl】+【O】
更新贴图(Map) 【Alt】+【Shift】+【Ctrl】+【M】
将Unwrap视图扩展到全部显示 【Alt】+【Ctrl】+【Z】
框选放大Unwrap视图 【Ctrl】+【Z】
将Unwrap视图扩展到所选材质点的大小 【Alt】+【Shift】+【Ctrl】+【Z】
缩放到Gizmo大小 【Shift】+【空格】
缩放(Zoom)工具 【Z】

反应堆(Reactor)
 
建立(Create)反应(Reaction) 【Alt】+【Ctrl】+【C】
删除(Delete)反应(Reaction) 【Alt】+【Ctrl】+【D】
编辑状态(State)切换 【Alt】+【Ctrl】+【s】
设置最大影响(Influence) 【Ctrl】+【I】
设置最小影响(Influence) 【Alt】+【I】
设置影响值(Value) 【Alt】+【Ctrl】+【V】

ActiveShade (Scanline)
 
初始化 【P】
更新 【U】

宏编辑器
 
累积计数器 【Q】

- 作者: 网际快车 2006年09月9日, 星期六 10:18  回复(0) |  引用(1) 加入博采

photoshop快捷键大放送

1.使用快捷键快速操作.

F1 -帮助
F2 -剪切
F3 -拷贝
F4-粘贴
F5-隐藏/显示画笔面板
F6-隐藏/显示颜色面板
F7-隐藏/显示图层面板
F8-隐藏/显示信息面板
F9-隐藏/显示动作面板
F12-恢复
Shift+f5-填充
Shift+f6-羽化
Shift+f7-选择→反选
ctrl+h-隐藏选定区域
ctrl+d-取消选定区域
ctrl+w-关闭文件
ctrl+Q-退出PHOTOSHOP
Esc-取消操作

2.按Tab键可以显示或隐藏工具箱和调色板,按"shift+Tab"键可以显示或隐藏除工具以外的其他面板。

3.按住shift用绘画工具在画面点击就可以在每两点间画出直线,按住鼠标拖动便可画出水平或垂直线。

4.使用其他工具时,按住ctrl键可切换到移动工具的功能(除了选择手工具时)按住空格键可切换到手工具的功能。

5.同时按住alt和ctrl+或-可让画框与画面同时缩放。

6.使用其他工具时,按ctrl+空格键可切换到放大工具放大图象显示比例,按alt+ctrl+空格可切换到缩小工具缩小图象显示比例。

7.在手工具上双击鼠标可以使图象匹配窗口的大小显示。

8.按住alt双击photoshop底板相当于打开为。

9.按住shife双击photoshop底板相当于保存。

10.按住ctrl双击photoshop底板相当于新建文件。

11.按住ale点击工具盒中带小点的工具可循环选择隐藏的工具。

12.按ctrl+alt+{数字键0}或在放缩工具上双击鼠标可使图象文件以1:1比例显示。

13.在各种设置框内,只要按住alt键,cancel键会变成键reset键,按reset键变可恢复默认设置。

14.按shift+backspace键可直接调用填充对话框。

15.按alt+backspace(delete)键可将前景色填入选取框按ctrl+backspace(delete)键可将背景色填入选取框。

16.同时按住ctrl和alt移动可马上复制到新的layer并可同时移动物体。

17.再用裁切工具裁切图片并调整裁切点时按住ctrl便不会贴近画面边缘。

18.若要在两上窗口间拖放拷贝,拖动过程中按住shift键,图像拖动到目的窗口后会自动居中。

19.按住shift选择区域时可在原区域上增加新的区域;按住alt选择区域时,可在原区域上减去新选区域,同时按住shift和alt选择区域时,可取得与原选择区域相交的部分。

20.移动图层和选取框时,按住shift键可做水平,垂直或45度角的移动,按键盘上的方向键,可做每次1像素的移动,按住shift键再键盘上的方向键可做每次10像素的移动。

21.ctrl+delete加填前景颜色,ctrl或shift加delete填背景颜色。

22.双击放大镜可使画面以的100%比例显示大小。

23.按ctrl+r 出现标尺,在标尺拉出辅助线时按住就可以准确的让辅助线贴近刻度。

42.工具箱(多种工具共用一个快捷键的可同时按【Shift】加此快捷键选取)

矩形、椭圆选框工具 【M】
裁剪工具 【C】
移动工具 【V】
套索、多边形套索、磁性套索 【L】
魔棒工具 【W】
喷枪工具 【J】
画笔工具 【B】
像皮图章、图案图章 【S】
历史记录画笔工具 【Y】
像皮擦工具 【E】
铅笔、直线工具 【N】
模糊、锐化、涂抹工具 【R】
减淡、加深、海棉工具 【O】
钢笔、自由钢笔、磁性钢笔 【P】
添加锚点工具 【+】
删除锚点工具 【-】
直接选取工具 【A】
文字、文字蒙板、直排文字、直排文字蒙板 【T】
度量工具 【U】
直线渐变、径向渐变、对称渐变、角度渐变、菱形渐变 【G】
油漆桶工具 【K】
吸管、颜色取样器 【I】
抓手工具 【H】
缩放工具 【Z】
默认前景色和背景色 【D】
切换前景色和背景色 【X】
切换标准模式和快速蒙板模式 【Q】
标准屏幕模式、带有菜单栏的全屏模式、全屏模式 【F】
临时使用移动工具 【Ctrl】
临时使用吸色工具 【Alt】
临时使用抓手工具 【空格】
打开工具选项面板 【Enter】
快速输入工具选项(当前工具选项面板中至少有一个可调节数字) 【0】至【9】
循环选择画笔 【[】或【]】
选择第一个画笔 【Shift】+【[】
选择最后一个画笔 【Shift】+【]】
建立新渐变(在”渐变编辑器”中) 【Ctrl】+【N】

文件操作

新建图形文件 【Ctrl】+【N】
用默认设置创建新文件 【Ctrl】+【Alt】+【N】
打开已有的图像 【Ctrl】+【O】
打开为... 【Ctrl】+【Alt】+【O】
关闭当前图像 【Ctrl】+【W】
保存当前图像 【Ctrl】+【S】
另存为... 【Ctrl】+【Shift】+【S】
存储副本 【Ctrl】+【Alt】+【S】
页面设置 【Ctrl】+【Shift】+【P】
打印 【Ctrl】+【P】
打开“预置”对话框 【Ctrl】+【K】
显示最后一次显示的“预置”对话框 【Alt】+【Ctrl】+【K】
设置“常规”选项(在预置对话框中) 【Ctrl】+【1】
设置“存储文件”(在预置对话框中) 【Ctrl】+【2】
设置“显示和光标”(在预置对话框中) 【Ctrl】+【3】
设置“透明区域与色域”(在预置对话框中) 【Ctrl】+【4】
设置“单位与标尺”(在预置对话框中) 【Ctrl】+【5】
设置“参考线与网格”(在预置对话框中) 【Ctrl】+【6】
设置“增效工具与暂存盘”(在预置对话框中) 【Ctrl】+【7】
设置“内存与图像高速缓存”(在预置对话框中) 【Ctrl】+【8】

编辑操作

还原/重做前一步操作 【Ctrl】+【Z】
还原两步以上操作 【Ctrl】+【Alt】+【Z】
重做两步以上操作 【Ctrl】+【Shift】+【Z】
剪切选取的图像或路径 【Ctrl】+【X】或【F2】
拷贝选取的图像或路径 【Ctrl】+【C】
合并拷贝 【Ctrl】+【Shift】+【C】
将剪贴板的内容粘到当前图形中 【Ctrl】+【V】或【F4】
将剪贴板的内容粘到选框中 【Ctrl】+【Shift】+【V】
自由变换 【Ctrl】+【T】
应用自由变换(在自由变换模式下) 【Enter】
从中心或对称点开始变换 (在自由变换模式下) 【Alt】
限制(在自由变换模式下) 【Shift】
扭曲(在自由变换模式下) 【Ctrl】
取消变形(在自由变换模式下) 【Esc】
自由变换复制的象素数据 【Ctrl】+【Shift】+【T】
再次变换复制的象素数据并建立一个副本 【Ctrl】+【Shift】+【Alt】+【T】
删除选框中的图案或选取的路径 【DEL】
用背景色填充所选区域或整个图层 【Ctrl】+【BackSpace】或【Ctrl】+【Del】
用前景色填充所选区域或整个图层 【Alt】+【BackSpace】或【Alt】+【Del】
弹出“填充”对话框 【Shift】+【BackSpace】
从历史记录中填充 【Alt】+【Ctrl】+【Backspace】
 
选择功能

全部选取 【Ctrl】+【A】
取消选择 【Ctrl】+【D】
重新选择 【Ctrl】+【Shift】+【D】
羽化选择 【Ctrl】+【Alt】+【D】
反向选择 【Ctrl】+【Shift】+【I】
路径变选区 数字键盘的【Enter】
载入选区 【Ctrl】+点按图层、路径、通道面板中的缩约图

- 作者: 网际快车 2006年08月25日, 星期五 19:43  回复(0) |  引用(1) 加入博采

利用GetOLEDBSchemaTable方法得到数据库架构信息

语法:
Visual Basic(声明)
Public Function GetOleDbSchemaTable (schema As Guid, restrictions As Object())
As DataTable
参数
schema
OleDbSchemaGuid 的值之一,它指定要返回的架构表。
例如:Tables, Procedures, Views, Columns, Catlogs 等
restrictions
限制值的 Object 数组。这些值按照限制列的顺序来应用。即,第一个限制值应用于第一个限制列,第二个限制值应用于第二个限制列,依此类推。

举例:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)    Handles MyBase.Load 
Dim strCnn As String
strCnn = "Provider=SqlOLEDB; Data Source=.\NetSDK; Initial Catalog=pubs;User ID=sa;Password=;"
   Dim dataConn As New OleDbConnection(strCnn) 
   Try
   dataConn.Open()
   Dim schemaTable As DataTable
   schemaTable = dataConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, Nothing)
   '得到全部的表、视图
   DataGrid1.DataSource = schemaTable
   DataGrid1.DataBind()
  
   schemaTable = dataConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, New Object() {Nothing, Nothing, Nothing, "TABLE"})
   '得到全部的用户表,用户表类型为Table,进行过滤 
   DataGrid2.DataSource = schemaTable
   DataGrid2.DataBind()
  
   schemaTable = dataConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, New Object() {Nothing, Nothing, Nothing, "VIEW"})
   '得到全部的视图
   DataGrid3.DataSource = schemaTable
   DataGrid3.DataBind()
  
   schemaTable = dataConn.GetOleDbSchemaTable(OleDbSchemaGuid.Procedures, Nothing)
   '得到全部的存储过程
   DataGrid4.DataSource = schemaTable
   DataGrid4.DataBind()
  
   schemaTable = dataConn.GetOleDbSchemaTable(OleDbSchemaGuid.Provider_Types, Nothing)
   '得到全部支持的数据类型
   Datagrid5.DataSource = schemaTable
   Datagrid5.DataBind()
  
   schemaTable = dataConn.GetOleDbSchemaTable(OleDbSchemaGuid.Primary_Keys, Nothing)
   Datagrid6.DataSource = schemaTable
Datagrid6.DataBind()
   Catch ex As Exception
   Response.Write(ex.Message.ToString())
   Finally
   dataConn.Close()
   End Try
  
   End Sub 


 

- 作者: 网际快车 2006年08月18日, 星期五 16:04  回复(0) |  引用(1) 加入博采

vb.net利用ADOX创建数据库
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    '为了方便测试,数据库名字采用D:\NewMDB.mdb,并且添加一个密码。
    'Dim dbName As String = "D:\NewMDB.mdb"
    Dim cat As ADOX.CatalogClass = New ADOX.CatalogClass()
    cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\test.mdb;Jet OLEDB:database password=aa")
    Dim tbl As ADOX.TableClass = New ADOX.TableClass()
    tbl.ParentCatalog = cat
    tbl.Name = "MyTable"
    '增加一个自动增长的字段
    Dim col As ADOX.ColumnClass = New ADOX.ColumnClass()
    col.ParentCatalog = cat
    col.Type = ADOX.DataTypeEnum.adInteger ' 必须先设置字段类型
    col.Name = "id"
    col.Properties("Jet OLEDB:Allow Zero Length").Value = False
    col.Properties("AutoIncrement").Value = True
    tbl.Columns.Append(col, ADOX.DataTypeEnum.adInteger, 0)
    '增加一个文本字段
    Dim col2 As ADOX.ColumnClass = New ADOX.ColumnClass()
    col2.ParentCatalog = cat
    col2.Name = "Description"
    col2.Properties("Jet OLEDB:Allow Zero Length").Value = False
    tbl.Columns.Append(col2, ADOX.DataTypeEnum.adVarChar, 25)
    '设置主键
    tbl.Keys.Append("PrimaryKey", ADOX.KeyTypeEnum.adKeyPrimary, "id", "", "")
    cat.Tables.Append(tbl)
    tbl = Nothing
    cat = Nothing
  End Sub

- 作者: 网际快车 2006年08月17日, 星期四 14:46  回复(0) |  引用(1) 加入博采

js脚本常用代码
click()   对象.click()   使对象被点击。
closed   对象.closed   对象窗口是否已关闭true/false
clearTimeout(对象) 清除已设置的setTimeout对象
clearInterval(对象) 清除已设置的setInterval对象
confirm("提示信息") 弹出确认框,确定返回true取消返回false
cursor:样式  更改鼠标样式 hand crosshair text wait help default auto e/s/w/n-resize
event.clientX  返回最后一次点击鼠标X坐标值;
event.clientY  返回最后一次点击鼠标Y坐标值;
event.offsetX  返回当前鼠标悬停X坐标值
event.offsetY  返回当前鼠标悬停Y坐标值
document.write(document.lastModified)  网页最后一次更新时间
document.ondblclick=x  当双击鼠标产生事件
document.onmousedown=x  单击鼠标键产生事件
document.body.scrollTop; 返回和设置当前竖向滚动条的坐标值,须与函数配合,
document.body.scrollLeft; 返回和设置当前横向滚动务的坐标值,须与函数配合,
document.title  document.title="message"; 当前窗口的标题栏文字
document.bgcolor document.bgcolor="颜色值"; 改变窗口背景颜色
document.Fgcolor document.Fgcolor="颜色值"; 改变正文颜色
document.linkcolor document.linkcolor="颜色值"; 改变超联接颜色
document.alinkcolor document.alinkcolor="颜色值"; 改变正点击联接的颜色
document.VlinkColor document.VlinkColor="颜色值"; 改变已访问联接的颜色
document.forms.length 返回当前页form表单数
document.anchors.length 返回当前页锚的数量
document.links.length 返回当前页联接的数量
document.onmousedown=x 单击鼠标触发事件
document.ondblclick=x 双击鼠标触发事件
defaultStatus  window.status=defaultStatus; 将状态栏设置默认显示
function  function xx(){...}  定义函数
isNumeric               判断是否是数字
innerHTML  xx=对象.innerHTML  输入某对象标签中的html源代码
innerText  divid.innerText=xx  将以div定位以id命名的对象值设为XX
location.reload(); 使本页刷新,target可等于一个刷新的网页
Math.random()           随机涵数,只能是0到1之间的数,如果要得到其它数,可以为*10,再取整
Math.floor(number) 将对象number转为整数,舍取所有小数
Math.min(1,2)  返回1,2哪个小
Math.max(1,2)  返回1,2哪个大
navigator.appName 返回当前浏览器名称
navigator.appVersion 返回当前浏览器版本号
navigator.appCodeName 返回当前浏览器代码名字
navigator.userAgent 返回当前浏览器用户代标志
onsubmit  onsubmit="return(xx())"  使用函数返回值
opener   opener.document.对象  控制原打开窗体对象
prompt   xx=window.prompt("提示信息","预定值"); 输入语句
parent   parent.框架名.对象 控制框架页面
return   return false   返回值
random   随机参数(0至1之间)
reset()   form.reset();   使form表单内的数据重置
split("")  string.split("")  将string对象字符以逗号隔开
submit()  form对象.submit()  使form对象提交数据
String对象的  charAt(x)对象 反回指定对象的第多少位的字母
       lastIndexOf("string") 从右到左询找指定字符,没有返回-1
       indexOf("string") 从左到右询找指定字符,没有返回-1
       LowerCase()  将对象全部转为小写
       UpperCase()  将对象全部转为大写
substring(0,5)  string.substring(x,x)  返回对象中从0到5的字符
setTimeout("function",time) 设置一个超时对象
setInterval("function",time) 设置一个超时对象
toLocaleString() x.toLocaleString()  从x时间对象中获取时间,以字符串型式存在
typeof(变量名)   检查变量的类型,值有:String,Boolean,Object,Function,Underfined
window.event.button==1/2/3 鼠标键左键等于1右键等于2两个键一起按为3
window.screen.availWidth 返回当前屏幕宽度(空白空间)
window.screen.availHeight 返回当前屏幕高度(空白空间)
window.screen.width  返回当前屏幕宽度(分辨率值)
window.screen.height  返回当前屏幕高度(分辨率值)
window.document.body.offsetHeight; 返回当前网页高度
window.document.body.offsetWidth; 返回当前网页宽度
window.resizeTo(0,0)  将窗口设置宽高
window.moveTo(0,0)  将窗口移到某位置
window.focus()  使当前窗口获得焦点
window.scroll(x,y) 窗口滚动条坐标,y控制上下移动,须与函数配合
window.open()  window.open("地址","名称","属性")
   属性:toolbar(工具栏),location(地址栏),directions,status(状态栏),
   menubar(菜单栏),scrollbar(滚动条),resizable(改变大小),  width(宽),height(高),fullscreen(全                                    屏),scrollbars(全屏时无滚动条无参 数,channelmode(宽屏),left(打开窗口x坐标),top(打开窗口y坐标)
                        window.location = 'view-source:' + window.location.href  应用事件查看网页源代码;

a=new Date();  //创建a为一个新的时期对象
y=a.getYear(); //y的值为从对象a中获取年份值 两位数年份
y1=a.getFullYear(); //获取全年份数 四位数年份
m=a.getMonth();  //获取月份值
d=a.getDate();  //获取日期值
d1=a.getDay();  //获取当前星期值
h=a.getHours();  //获取当前小时数
m1=a.getMinutes(); //获取当前分钟数
s=a.getSeconds(); //获取当前秒钟数

对象.style.fontSize="文字大小";
单位:mm/cm/in英寸/pc帕/pt点/px象素/em文字高
1in=1.25cm
1pc=12pt
1pt=1.2px(800*600分辩率下)
文本字体属性:
        fontSize大小
 family字体
 color颜色
 fontStyle风格,取值为normal一般,italic斜体,oblique斜体且加粗
 fontWeight加粗,取值为100到900不等,900最粗,light,normal,bold
 letterSpacing间距,更改文字间距离,取值为,1pt,10px,1cm
 textDecoration:文字修饰;取值,none不修饰,underline下划线,overline上划线
 background:文字背景颜色,
 backgroundImage:背景图片,取值为图片的插入路径

点击网页正文函数调用触发器:
1.onClick 当对象被点击
2.onLoad 当网页打开,只能书写在body中
3.onUnload 当网页关闭或离开时,只能书写在body中
4.onmouseover 当鼠标悬于其上时
5.onmouseout 当鼠标离开对象时
6.onmouseup 当鼠标松开
7.onmousedown 当鼠标按下键
8.onFocus 当对象获取焦点时
9.onSelect 当对象的文本被选中时
10.onChange 当对象的内容被改变
11.onBlur 当对象失去焦点
onsubmit=return(ss())表单调用时返回的值
直线          border-bottom:1x solid black
虚线          border-bottom:1x dotted black
点划线        border-bottom:2x dashed black
双线          border-bottom:5x double black
槽状          border-bottom:1x groove black
脊状          border-bottom:1x ridge black

1.边缘高光glow(color=颜色,strength=亮光大小)<br>
2.水平翻转fliph() 使对象水平翻转180度<br>
3.垂直翻转flipv() 使对象垂直翻转180度<br>
4.对象模糊blur(add=true/false direction=方向 strength=强度)
 add指定是否按印象画派进行模糊direction模糊方向strength模糊强度
5.对象透明alpha(opaction=0-100,finishopacity=0-100,style=0/1/2/3)
 opaction对象整体不透明值finishopacity当对象利用了渐透明时该项指定结束透明位置的不透明值style指定透明方式0为整体透明,1为线型透明,2为圆型透明,3为矩形透明
6.去除颜色chroma(color=颜色值)使对象中颜色与指定颜色相同区域透明
7.建立阴影dropshadow(color=阴影颜色,offx=水平向左偏离像素,offy=水平向下偏离像素)
8.去色gray()使对象呈灰度显示
9.负片效果invert()使对象呈底片效果
10.高光light()使对象呈黑色显示
11.遮盖mask(color=颜色)使整个对象以指定颜色进行蒙板一次
opacity 表透明度水平.0~100,0表全透明,100表完全不透明
finishopacity表想要设置的渐变透明效果.0~100.
style 表透明区的形状.0表统一形状.1表线形.2表放射形.3表长方形.
startx.starty表渐变透明效果的开始时X和Y坐标.
finishx,finishy渐变透明效果结束时x,y 的坐标.
add有来确定是否在模糊效果中使有原有目标.值为0,1.0表"否",1表"是".
direction设置模糊的方向.0度表垂直向上,45度为一个单位.默认值是向左270度.left,right,down,up.
strength 只能用整数来确定.代表有多少个像素的宽度将受到模糊影响.默认是5个.
color要透明的颜色.
offx,offy分别是x,y 方向阴影的偏移量.
positive指投影方式.0表透明像素生成阴影.1表只给出不透明像素生成阴影..
AddAmbient:加入包围的光源.
AddCone:加入锥形光源.
AddPoint加入点光源
Changcolor:改变光的颜色.
Changstrength:改变光源的强度.
Clear:清除所有的光源.
MoveLight:移动光源.
freq是波纹的频率,在指定在对象上一区需要产生多少个完事的波纹.
lightstrength可对于波纹增强光影的效果.显著0~100正整数,正弦波开始位置是0~360度.0表从0度开始,25表从90度开始.
strength表振幅大小.

hand                          style="cursor:hand"
crosshair                     style="cursor:crosshair"
text                          style="cursor:text"
wait                          style="cursor:wait"
default                       style="cursor:default"                   
help                          style="cursor:help"
e-resize                      style="cursor:e-resize"
ne-resize                     style="cursor:ne-resize"
n-resize                      style="cursor:n-resize"
nw-resize                     style="cursor:nw-resize"
w-resize                      style="cursor:w-resize"
s-resize                      style="cursor:s-resize"
sw-resize                     style="cursor:sw-resize "
se-resize                     style="cursor:se-resize"
auto                          style="cursor:auto"

- 作者: 网际快车 2006年07月13日, 星期四 12:22  回复(0) |  引用(1) 加入博采

ASP.NET中TreeView控件使用小结

      在上网浏览时有时会看到一些网站在左边采用类似资源管理器的树形结构,在树形结构中单击,在右边显示内容,层次清晰且方便快捷,本文主要介绍ASP.NET服务器控件treeview 的使用方法,treeview控件属于microsoft webcontrols,在下载和使用过程中本人碰到一些问题,通过反复实验,查找资料,找到一些解决办法,现把treeview使用心得写出来,旨在对想在网站中使用树形结构的朋友有所帮助。
一、下载
       microsoft webcontrols控件包括四个组件:MultiPage、TabStrip、Toolbar、treeView,treeview可以到http://msdn.microsoft.com/downloads/samples/internet/ASP_DOT_NET_ServerControls/WebControls/default.asp去下载,下载后得到文件IEWebControls,只有360KB,安装后自动在C:\Program Files建立IE Web Controls,执行其下面的bulid.bat,如果安装后还不能使用可以采用以下方法解决:
      1、打开bulid.bat的内容,查看csc.exe路径是否正确,一般不能正确使用这可能是原因之一,csc.exe为系统文件,如果它的路径与你的计算机不符合,修改后存盘再执行bulid.bat,将得到Microsoft.Web.UI.WebControls.dll和一些文件夹。
      2、查看默认的web站点,一般默认的web站点为C:\Inetpub\wwwroot,如果不是可以通过打开管理工具àInternet 服务管理器,方法:对默认web站点单击右键à属性à主目录,修改主目录。
      3、将C:\Program Files\IE Web Controls\build下runtime文件夹下所有内容复制到主目录\webctrl_client\1_0下,是将iewebcontrols四大控件的系统文件复制到默认web站点下。
      4、将C:\Program Files\IE Web Controls\build下Microsoft.Web.UI.WebControls.dll文件复制到主目录中建立的项目文件夹下\bin中。
      通过对以上四个方面的操作,iewebcontrols才能正常使用。
二、使用控件
  1、创建一个 Web 应用程序。
  2、创建一个空白 Web 窗体页面
      3、添加导入指令。在 Web 窗体的第一行编写 WebControl 的导入指令代码,如下所示:
          <%@ import namespace="Microsoft.Web.UI.WebControls" %>
      4、添加Register 指令。在 Web 窗体的第二行编写 WebControl 的@ Register 指令代码。<%@ Register TagPrefix="mytree"
Namespace="Microsoft.Web.UI.WebControls"
Assembly="Microsoft.Web.UI.WebControls, Version=1.0.2.226, Culture=neutral" %>三、简单例子
<mytree:treeview runat="server">
  <mytree:treenode text="我的第一个树节点">
    <mytree:treenode text="我的第二个树节点">
    </mytree:treenode>
  </mytree:treenode>
</mytree:treeview>
四、常用属性
1、autoselect=”false”:当访问者在treeview控件中对节点进行定位时,可以使用键盘上的箭头来进行定位。属性值为“false“,则不允许这样做。
2、Showplus=”true”:当两个节点收到一起的时候,你可以显示一个加号(+),访问者就知道这个节点可以展开,该属性值为“true“将使用加号,否则不使用。
3、Showlines=”true”:在一个treeview控件中的两个节点之间,可以显示一些线长,为”true”显示。
4、Expandlevel=2:用来定义treeview控件的层次结构展开的级别数。
5、navigateurl:点击节点时的跳转网址
6、index:获取树节点在树节点集合中的位置
7、nodes:获取分配给树视图控件的树节点集合
8、parent:获取或设置控件的父容器
9、selectednode:获取或设置当前在树视图控件中选定的树节点
10、text:获取或设置在树节点标签中显示的文本
11、expand:展开树节点
12、clear:清空树
13、remove:移除当前树节点
14、checked:用以指明该树节点是否处于选中状态

- 作者: 网际快车 2006年03月9日, 星期四 08:29  回复(0) |  引用(1) 加入博采