📄 fnotepad.class
字号:
' Gambas class filePRIVATE $sPath AS StringPRIVATE $bModify AS BooleanSTATIC PUBLIC SUB Main() DIM hForm AS Form hForm = NEW FNotepad hForm.ShowENDPUBLIC SUB _new() txtNotepad.Text = "" $bModify = FALSE RefreshTitle txtNotePad.SetFocusENDPRIVATE FUNCTION GetName() AS String IF $sPath THEN RETURN $sPath RETURN "(New document)"ENDPRIVATE SUB RefreshTitle() DIM sTitle AS String IF $bModify THEN sTitle = "*" sTitle = sTitle & GetName() ME.Title = sTitleENDPRIVATE SUB SetPath(sPath AS String) $sPath = sPath RefreshTitleENDPRIVATE SUB SetModify(bModify AS Boolean) IF $bModify = bModify THEN RETURN $bModify = bModify RefreshTitleENDPRIVATE FUNCTION CloseDoc() AS Boolean IF $bModify THEN SELECT CASE Message.Question(GetName() & "\n\nFile has been modified. Do you want to save it ?", "Yes", "No", "Cancel") CASE 1 Save CASE 3 RETURN TRUE END SELECT ENDIF $sPath = "" txtNotepad.Text = "" $bModify = FALSE RefreshTitleENDPUBLIC SUB Load(sPath AS String) IF CloseDoc() THEN RETURN txtNotepad.Text = File.Load(sPath) $bModify = FALSE SetPath(sPath)CATCH Message.Error(sPath & "\nUnable to load file.\n" & Error.Text)ENDPUBLIC SUB Save(OPTIONAL bSaveAs AS Boolean) IF bSaveAs OR NOT $sPath THEN IF Dialog.SaveFile() THEN RETURN SetPath(Dialog.Path) ENDIF File.Save($sPath, txtNotepad.Text)ENDPUBLIC SUB Form_Resize() txtNotepad.Move(0, 0, ME.ClientWidth, ME.ClientHeight)ENDPUBLIC SUB mnuOpen_Click() DIM sPath AS String Dialog.Filter = [ "Text files (*.txt)", "Desktop files (*.desktop)" ] IF Dialog.OpenFile() THEN RETURN Load(Dialog.Path)ENDPUBLIC SUB mnuSave_Click() SaveENDPUBLIC SUB mnuSaveAs_Click() Save(TRUE)ENDPUBLIC SUB mnuQuit_Click() ME.CloseENDPUBLIC SUB txtNotepad_Change() SetModify(TRUE)ENDPUBLIC SUB mnuClose_Click() CloseDocENDPUBLIC FUNCTION Form_Close() AS Boolean RETURN CloseDoc()ENDPUBLIC SUB mnuAbout_Click() FAbout.RunENDPUBLIC SUB mnuCopy_Click() txtNotepad.CopyENDPUBLIC SUB mnuPaste_Click() txtNotepad.PasteENDPUBLIC SUB mnuCut_Click() txtNotepad.CutENDPUBLIC SUB mnuUndo_Click() txtNotepad.UndoENDPUBLIC SUB mnuRedo_Click() txtNotepad.RedoENDPUBLIC SUB mnuFont_Click() IF Dialog.SelectFont() THEN RETURN txtNotepad.Font = Dialog.FontEND
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -