RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:9:30-18:00
你可能遇到了下面的问题
关闭右侧工具栏
(原创)OpenDialog控件在WEB上的应用
  • 作者:zhaozj
  • 发表时间:2020-12-23 10:58
  • 来源:未知

作者:死在水中的鱼(死鱼)

以前老觉得FORM里的FILE按钮不够完美,因为它没有FILTER,所以一打开窗口就全部文件也给显示出来。于是调用了系统的OpenDialog控件,这样以后写上传文件时就能够的显得个性化了。。但只对WIN系统有用!!!

测试代码如下:直接保存为一个HTM文件即可以看效果<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HEAD><TITLE> OpenDialog控件测试 </TITLE><META NAME="Generator" CONTENT="EditPlus"><META NAME="Author" CONTENT=""><META NAME="Keywords" CONTENT=""><META NAME="Description" CONTENT=""></HEAD>

<BODY><object id=FileDialog style="left: 0px; TOP: 0px" classid="clsid:f9043c85-f6f2-101a-a3c9-08002b2f49fb" codebase="http://activex.microsoft.com/controls/vb5/comdlg32.cab"></object><input type=button value="打开文件" οnclick='OpenFile()'><input type=button value="选择颜色" οnclick='OpenColor()'><input type=button value="选择字体" οnclick='OpenFont()'><div align=left id=App style="border:1 solid #000000;background-color:#FFFFFF;height:300px;overflow:auto;width:100%;z-index:2" contentEditable></div><SCRIPT LANGUAGE="VBScript">'/***************************文件窗口测试****************************************Sub OpenFileOn Error Resume NextDim sFilterWith FileDialog .FileName="" .DialogTitle="请选择要打开的文件" .Flags=4+4096          '打开文件窗口的样式;  4 = 隐藏“只读文件”按钮选项   4096 = 选择的文件必须存在  512 = 可以选择多文件(但窗口样式会改变成旧时系统的窗口样式)    sFilter="可执行文件(*.exe,com)|*.exe;*.com"    sFilter=sFilter + "|图片文件(*.jpeg,jpg,gif,png)|*.jpeg;*.jpg;*.gif;*.png;*.bmp" sFilter=sFilter + "|所有文件(*.*)|*.*" .Filter=sFilter       '打开文件窗口的过滤器    .CancelError = True .ShowOpen             '写成.ShowSave则是显示保存文件的窗口 If Err.Number<>0 Then    Err.Clear    document.all.App.innerText = "你没有选择任何文件"    Exit Sub End If document.all.App.innerText= "你选择的文件是:"+.FileNameEnd WithEnd Sub'/***************************颜色窗口测试****************************************Sub OpenColorOn Error Resume NextDim sColorWith FileDialog    .CancelError = True .Flags=2              '1 = 不显示自定义颜色面板  2 = 先显示自定义颜色面板 .ShowColor If Err.Number<>0 Then    Err.Clear    document.all.App.innerText = "你没有选择任何颜色"    document.all.App.style.background="#FFFFFF"    Exit Sub End If sColor="#"+Left(StrReverse("000000"+Cstr(Hex(.Color))),6) document.all.App.innerHTML= "<font color="+sColor+">你选择的颜色是:"+sColor+"</font>"End WithEnd Sub'/***************************字体窗口测试****************************************Sub OpenFontOn Error Resume NextDim sFont,sColorWith FileDialog    .CancelError = True .Flags=3 + 256  '1 = 屏幕字体集    2 = 打印机字体集 3 = 包含1,2的字体集  256 = 显示字体效果栏(颜色,下划线,删除线等) .ShowFont If Err.Number<>0 Then    Err.Clear    document.all.App.innerText = "你没有选择任何字体"    Exit Sub End If sFont="名称:"+.FontName+" 字体大小:"+Cstr(.FontSize) If .FontBold Then    sFont=sFont+" 粗体:是" Else    sFont=sFont+" 粗体:否" End If If .FontItalic Then    sFont=sFont+" 斜体:是" Else    sFont=sFont+" 斜体:否" End If If .FontStrikeThru Then    sFont=sFont+" 删除线:是" Else    sFont=sFont+" 删除线:否" End If If .FontUnderLine Then    sFont=sFont+" 下划线:是" Else    sFont=sFont+" 下划线:否" End If sColor="#"+Left(StrReverse("000000"+Cstr(Hex(.Color))),6) sFont=sFont+" 字体颜色:"+sColor document.all.App.innerText= "你选择的字体是:"+sFontEnd WithEnd Sub</SCRIPT></BODY></HTML>