展会信息港展会大全

A notepad made in HTA(hta实现的记事本)
来源:互联网   发布日期:2016-01-19 13:03:52   浏览:2267次  

导读:这个记事本可以在Win9x中运行,并且处理更大的文件。可以通 过修改html修改页面,喜欢学习hta的朋友可以参考下This notepad can handle bigger files than the one shiped with Win9x Learn how t ...

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

效果图:

复制代码 代码如下:

<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>

<TD onclick='ShowSubMenu Me,MyFileMenu'

onmouseover='MenuOver Me,MyFileMenu'

onmouseout='MenuOut Me'> File </TD>

<TD onclick='ShowSubMenu Me,MyEditMenu'

onmouseover='MenuOver Me,MyEditMenu'

onmouseout='MenuOut Me'> Edit </TD>

<TD onclick='ShowSubMenu Me,MyFindMenu'

onmouseover='MenuOver Me,MyFindMenu'

onmouseout='MenuOut Me'> Find </TD>

<TD onclick='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>

<TD onclick="HideMenu:NewText"

onmouseover='Submenuover Me'

onmouseout='Submenuout Me'> New</TD></TR>

<TR><TD onclick="HideMenu:open"

onmouseover='Submenuover Me'

onmouseout='Submenuout Me'> Open</TD></TR>

<TR><TD onclick="HideMenu:save"

onmouseover='Submenuover Me'

onmouseout='Submenuout Me'> Save</TD></TR>

<TR><TD onclick="HideMenu:saveAs"

onmouseover='Submenuover Me'

onmouseout='Submenuout Me'> Save As</TD></TR>

<TR><TD><HR></TD></TR>

<TR><TD onclick="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>

<TD onclick='HideMenu:msgbox "No help available yet;under construction ;=)"'

onmouseover='Submenuover Me'

onmouseout='Submenuout Me'>Help</TD></TR>

<TR><TD onclick='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>

赞助本站

人工智能实验室

相关热词: 记事本 notepad

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港