Jump to content

Recommended Posts

Posted

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.

Kind Regards
Skeletor

"Coffee: my defense against going postal."

Microsoft Office Splash Screen | Basic Notepad Program (Beginner) | Transparent Splash Screen | Full Screen UI

  • 1 month later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...