HTA-Notepad

A notepad made in 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.

File Name : htanotepad.hta
Requirement : IE5, Commondialogs
Author : Jean-Luc Antoine
Submitted : 30/08/2001
Category : HTA
Remember : The file extension has to be *.HTA
Preview : Click here !
<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>
Server Info
Remote Info
Compress

Batchs
BootSector
Droit
Accessoire GFA
On Now
Ecran plasma
Système d'exploitation
Son
Unités
Scripting
Multilingue
Site Web
Bruit et son
Architecture Google


4K
Color picker
TaskList
Backup files
Mini Port Scanner
Website To CHM
PixyDemo
Web password recovery
4KWebServer
Kill Popup
VBE decoder
Script Optimizer
Database Password Recovery
Class
Ini
EMail validator
Graphical Class
MP3 Info
Pinger Class
IP ranger class
SoftwareMetering
Path Validator
Time Stamper Class
LoggerCLS
HTA
Keyword Ranking
DOM Explorer
HTA-Notepad
PixyPortManager
Other
flashMessage
Kill Popup
VBE decoder (fixed)
Error Codes
Maze generator
Char counter
HTML To Word
ICQ Choose User
ScreenSaver Password decoder
Mp3Playlister - singleList
Long Filename To Short
Trace Math
Dump Hexa File
Self modifying script
Mp3Playlister - multiList
HTANoid
PixyWebServer
Python
Progress indication

©2002 Jean-Luc Antoine. All Rights Reserved. Scripts or any other material on this website may not be redistributed or put as part of ANY collection (script archives, CDs etc) without prior written permission. Permission granted to use and modify any of the scripts found on InterClasse.com