Hi Guys,
When I used to scratch the surface with Delphi5, I could only create a simple Notepad program.
Now that I'm into AutoIt, I've created just a bare bone Notepad.
Can be improved, but maybe this will be useful for those, like me, starting out with programming.
I know there are way better notepads out there like Aupad, but,
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <APIDlgConstants.au3>
#include <Memory.au3>
#include <WinAPIDlg.au3>
#include <WinAPIFiles.au3>
Opt('WinTitleMatchMode', 3)
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Notepad", 620, 440, 192, 124)
$MenuItem1 = GUICtrlCreateMenu("File")
$MenuItem4 = GUICtrlCreateMenuItem("New" & @TAB & "Ctrl+N", $MenuItem1)
$MenuItem5 = GUICtrlCreateMenuItem("Open" & @TAB & "Ctrl+O", $MenuItem1)
$MenuItem6 = GUICtrlCreateMenuItem("Save" & @TAB & "Ctrl+S", $MenuItem1)
$MenuItem17 = GUICtrlCreateMenuItem("Print" & @TAB & "Ctrl+P", $MenuItem1)
$MenuItem7 = GUICtrlCreateMenuItem("Exit" & @TAB & "Ctrl+W", $MenuItem1)
$MenuItem2 = GUICtrlCreateMenu("Edit")
$MenuItem8 = GUICtrlCreateMenuItem("Undo" & @TAB & "Ctrl+Z", $MenuItem2)
$MenuItem9 = GUICtrlCreateMenuItem("Cut" & @TAB & "Ctrl+X", $MenuItem2)
$MenuItem10 = GUICtrlCreateMenuItem("Copy" & @TAB & "Ctrl+C", $MenuItem2)
$MenuItem11 = GUICtrlCreateMenuItem("Paste" & @TAB & "Ctrl+V", $MenuItem2)
$MenuItem12 = GUICtrlCreateMenuItem("Delete" & @TAB & "Del", $MenuItem2)
$MenuItem16 = GUICtrlCreateMenu("Format")
$MenuItem19 = GUICtrlCreateMenuItem("Word Wrap", $MenuItem16)
$MenuItem18 = GUICtrlCreateMenuItem("Font", $MenuItem16)
$MenuItem15 = GUICtrlCreateMenu("View")
$MenuItem20 = GUICtrlCreateMenuItem("Status Bar", $MenuItem15)
$MenuItem3 = GUICtrlCreateMenu("Help")
$MenuItem13 = GUICtrlCreateMenuItem("View Help", $MenuItem3)
$MenuItem14 = GUICtrlCreateMenuItem("About Notepad" & @TAB & "F1", $MenuItem3)
$Edit1 = GUICtrlCreateEdit("", 0, 0, 620, 420, $ES_WANTRETURN)
GUICtrlSetFont($Edit1, 10, 400, -1, "Lucida Console")
GUICtrlSetData(-1, "")
Dim $Form1_AccelTable[11][2] = [["^n", $MenuItem4], ["^o", $MenuItem5], ["^s", $MenuItem6], ["^p", $MenuItem17], ["^w", $MenuItem7], ["^z", $MenuItem8], ["^x", $MenuItem9], ["^c", $MenuItem10], ["^v", $MenuItem11], ["{DEL}", $MenuItem12], ["{F1}", $MenuItem14]]
GUISetAccelerators($Form1_AccelTable)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
#Region --- CodeWizard generated code Start ---
;MsgBox features: Title=Yes, Text=Yes, Buttons=Yes and No, Icon=Warning
If Not IsDeclared("iMsgBoxAnswer") Then Local $iMsgBoxAnswer
$iMsgBoxAnswer = MsgBox(52, "Notepad Closing", "Are you sure you want to exit?")
Select
Case $iMsgBoxAnswer = 6 ;Yes
Exit
Case $iMsgBoxAnswer = 7 ;No
EndSelect
#EndRegion --- CodeWizard generated code Start ---
Case $MenuItem4
GUICtrlSetData($Edit1, "")
Case $MenuItem5
FileOpenDialog("Open Text File", @DesktopDir, "Text File (*.txt)")
Case $MenuItem6
$filesave = FileSaveDialog("Save Text File", @DesktopDir, "Text File (*.txt)")
$Edit1_Read = GUICtrlRead($Edit1)
FileWrite($filesave, $Edit1_Read)
Case $MenuItem7
#Region --- CodeWizard generated code Start ---
;MsgBox features: Title=Yes, Text=Yes, Buttons=Yes and No, Icon=Warning
If Not IsDeclared("iMsgBoxAnswer") Then Local $iMsgBoxAnswer
$iMsgBoxAnswer = MsgBox(52, "Notepad Closing", "Are you sure you want to exit?")
Select
Case $iMsgBoxAnswer = 6 ;Yes
Exit
Case $iMsgBoxAnswer = 7 ;No
EndSelect
#EndRegion --- CodeWizard generated code Start ---
EndSwitch
WEnd
If you don't attempt something, you never know you can actually achieve that goal.