您现在的位置: 万盛学电脑网 >> 程序编程 >> 网络编程 >> 编程语言综合 >> 正文

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

作者:佚名    责任编辑:admin    更新时间:2022-06-22

这个记事本可以在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