欢迎来到山村网

A notepad made in HTA(hta实现的记事本)

2019-03-02 10:32:13浏览:857 来源:山村网   
核心摘要:这个记事本可以在Win9x中运行,并且处理更大的文件。可以通过修改html修改页面,喜欢学习hta的朋友可以参考下This notepad can h
这个记事本可以在Win9x中运行,并且处理更大的文件。可以通过修改html修改页面,喜欢学习hta的朋友可以参考下

This notepad can handle bigger files than the one shiped with Win9x.
Learn how to make windows looking interfaces in HTML.
Interesting use of Commondialogs.

效果图:

A notepad made in HTA(hta实现的记事本)  山村

复制代码 代码如下:


<html><head>

<HTA:APPLICATION
APPLICATIonNAME="HTANotePad" ID="oHTA" BORDER="thick"
BORDERSTYLE="normal" CAPTION="yes" ConTEXTMENU="yes"
INNERBORDER="no" MAXIMIZEBUTTON="yes" MINIMIZEBUTTON="yes"
NAVIGABLE="yes"
ICON="NOTEPAD.EXE" SCROLL="no" SCROLLFLAT="no"
SELECTION="no" SHOWINTASKBAR="yes" SINGLEINSTANCE="no"
SYSMENU="yes" VERSION="0.3" WINDOWSTATE="normal">

<STYLE TYPE="text/css">
<!--
BODY{xfont-family: "Verdana, Arial, Helvetica, sans-serif";
font:menu;
background-color:Menu;
color:MenuText;
xfont-size: 8pt;
cursor:default; //auto, text, pointer
}
TABLE{xfont-family:"Arial";
xfont-size:8pt;
font:menu;
padding:0pt;
border:0pt;
FILTER: progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=90);
}
Iframe{height:expression(document.body.clientHeight-MenuTable.clientHeight);
width:100%;
}
TD{border:"1px solid Menu";}
.submenu{position:absolute;top=20;
background-color:Menu;
border="2px outset";}
.MenuIn{border:'1px inset';}
.Menuover{border:'1px outset';}
.Menuout{border:'1px solid';}
.Submenuover{background-color:highlight;color:highlighttext;}
.Submenuout{background-color:Menu;color:MenuText;}
-->
</STYLE>

<script language=vbscript>
option explicit
Dim FileName,fModif,LastChildMenu,LastMenu
fModif=False'Not modified
DisplayTitle
Set LastChildMenu=Nothing
Set LastMenu=Nothing
Sub DisplayTitle
If FileName="" Then
document.Title="sans titre - " & oHTA.ApplicationName
Else
document.Title=FileName & " - " & oHTA.ApplicationName
End If
End Sub

'''''''''''''''''''
' File management '
'''''''''''''''''''
Sub SaveAs
Dim oDLG
Set oDLG=CreateObject("MSComDlg.CommonDialog")
With oDLG
.DialogTitle="SaveAs"
.Filter="scripts|*.vbs;*.hta;*.wsf;*.js|Text Files|*.txt|All files|*.*"
.MaxFileSize=255
.ShowSave
If .FileName<>"" Then
FileName=.FileName
Save
End If
End With
Set oDLG=Nothing
DisplayTitle
End Sub
Sub Save()
Dim fso,f
If FileName<>"" Then
Set fso=CreateObject("scripting.FileSystemObject")
Set f=fso.CreateTextFile(FileName,True)
f.Write Myframe.MyText.Value
f.Close
Set f=Nothing
Set fso=Nothing
Else
SaveAs
End If
End Sub
Sub OpenIt
Dim fso,f
Set fso=CreateObject("scripting.FileSystemObject")
Set f=fso.OpenTextFile(FileName,1)
Myframe.MyText.Value=f.ReadAll
f.close
Set f=Nothing
Set fso=Nothing
DisplayTitle
End Sub
Sub Open()
If fModif Then
Select Case Msgbox("The text in the file " & FileName & " has been changed." _
& vbCrLf & "Do you want to save the changes ?",51,oHTA.ApplicationName)
Case 6'Yes
Save
Case 7'No
Case 2'Cancel
Exit Sub
End Select
End If
Dim oDLG
Set oDLG=CreateObject("MSComDlg.CommonDialog")
With oDLG
.DialogTitle="Open"
.Filter="scripts|*.vbs;*.hta;*.wsf;*.js|Text Files|*.txt|All files|*.*"
.MaxFileSize=255
.Flags=.Flags Or &H1000'FileMustExist (OFN_FILEMUSTEXIST)
.ShowOpen
If .FileName<>"" Then
FileName=.FileName
OpenIt
End If
End With
Set oDLG=Nothing
End Sub
Sub NewText
If fModif Then
Select Case Msgbox("The text in the file " & FileName & " has been changed." _
& vbCrLf & "Do you want to save the changes ?",51,oHTA.ApplicationName)
Case 6'Yes
Save
Case 7'No
Case 2'Cancel
Exit Sub
End Select
End If
Myframe.MyText.Value=""
FileName=""
DisplayTitle
End Sub

'''''''''''''''
' Drag & Drop '
'''''''''''''''
Sub ChangeIframe
'We use an Iframe to allow Drag&Drop
Myframe.document.Body.InnerHTML="<textarea ID=MyText WRAP=OFF onChange" & _
"='vbscript:parent.fModif=True' onclick='vbscript:parent.HideMenu' " & _
"style='width:100%;height:100%'></textarea>"
With Myframe.document.Body.Style
.marginleft=0
.margintop=0
.marginright=0
.marginbottom=0
End With
With Myframe.MyText.Style
.fontfamily="Fixedsys, Verdana, Arial, sans-serif"
'.fontsize="7pt"
End With
Select Case UCase(Myframe.location.href)
Case "about:BLANK"
FileName=""
Case Else
FileName=Replace(Mid(Myframe.location.href,9),"/","") 'suppress file:///
OpenIt
End Select
End Sub

'''''''''''''''''''
' Menu management '
'''''''''''''''''''
Sub ShowSubMenu(Parent,Child)
If Child.style.display="block" Then
Parent.classname="Menuover"
Child.style.display="none"
Set LastChildMenu=Nothing
Else
Parent.classname="Menuin"
Child.style.display="block"
Set LastChildMenu=Child
End If
Set LastMenu=Parent
End Sub
Sub MenuOver(Parent,Child)
If LastChildMenu is Nothing Then
Parent.className="MenuOver"
Else
If LastMenu is Parent Then
Parent.className="MenuIn"
Else
HideMenu
ShowSubMenu Parent,Child
End If
End If
End Sub
Sub MenuOut(Menu)
If LastChildMenu is Nothing Then Menu.className="MenuOut"
End Sub
Sub HideMenu
If Not LastChildMenu is Nothing Then
LastChildMenu.style.display="none"
Set LastChildMenu=Nothing
LAstMenu.classname="Menuout"
End If
End Sub
Sub SubMenuOver(Menu)
Menu.className="SubMenuOver"
'LastMenu.classname="Menuin"
End Sub
Sub SubMenuOut(Menu)
Menu.className="SubMenuOut"
End Sub

</script>
</head>

<body leftmargin=0 topmargin=0 rightmargin=0>
<TABLE id=MenuTable><TR>
<TDonclick='ShowSubMenu Me,MyFileMenu'
onmouseover='MenuOver Me,MyFileMenu'
onmouseout='MenuOut Me'> File </TD>
<TDonclick='ShowSubMenu Me,MyEditMenu'
onmouseover='MenuOver Me,MyEditMenu'
onmouseout='MenuOut Me'> Edit </TD>
<TDonclick='ShowSubMenu Me,MyFindMenu'
onmouseover='MenuOver Me,MyFindMenu'
onmouseout='MenuOut Me'> Find </TD>
<TDonclick='ShowSubMenu Me,MyHelpMenu'
onmouseover='MenuOver Me,MyHelpMenu'
onmouseout='MenuOut Me'> ? </TD>
<TD onclick="HideMenu" width=100% border=2></TD>
</TR></TABLE>
<TABLE ID=MyFileMenu class=submenu style="left=2;display:none;"><TR>
<TDonclick="HideMenu:NewText"
onmouseover='Submenuover Me'
onmouseout='Submenuout Me'> New</TD></TR>
<TR><TDonclick="HideMenu:open"
onmouseover='Submenuover Me'
onmouseout='Submenuout Me'> Open</TD></TR>
<TR><TDonclick="HideMenu:save"
onmouseover='Submenuover Me'
onmouseout='Submenuout Me'> Save</TD></TR>
<TR><TDonclick="HideMenu:saveAs"
onmouseover='Submenuover Me'
onmouseout='Submenuout Me'> Save As</TD></TR>
<TR><TD><HR></TD></TR>
<TR><TDonclick="HideMenu:window.close"
onmouseover='Submenuover Me'
onmouseout='Submenuout Me'> Quit</TD></TR>
</TABLE>
<TABLE ID=MyEditMenu class=submenu style="left=30;display:none;"><TR>
<TD><HR width=50px></TD></TR>
</TABLE>
<TABLE ID=MyFindMenu class=submenu style="left=60;display:none;"><TR>
<TD><HR width=50px></TD></TR>
</TABLE>
<TABLE ID=MyHelpMenu class=submenu style="left=90;display:none;"><TR>
<TDonclick='HideMenu:msgbox "No help available yet;under construction ;=)"'
onmouseover='Submenuover Me'
onmouseout='Submenuout Me'>Help</TD></TR>
<TR><TDonclick='HideMenu:CreateObject("MSComDlg.CommonDialog").aboutBox'
onmouseover='Submenuover Me'
onmouseout='Submenuout Me'>about</TD></TR>
</TABLE>

<iframe id=Myframe application=yes scrolling=no onload="ChangeIframe"></iframe>

<script language=vbscript>
'We can handle a file as a parameter to this HTA
Dim x
FileName=Trim(oHTA.CommandLine)
x=Instr(2,FileName,"""")
If x=Len(FileName) Then
FileName=""'No File Loaded
Else
FileName=Trim(Mid(FileName,x+1))
OpenIt
End If
</script>
</body></html>

(责任编辑:豆豆)
下一篇:

jquery ajax 向后台传递数组参数示例

上一篇:

VBS 正则判别素数(质数)

  • 信息二维码

    手机看新闻

  • 分享到
打赏
免责声明
• 
本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们 xfptx@outlook.com