📄 mainu.~pas
字号:
unit MainU;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, Menus;
type
TmainForm = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
RichEdit1: TRichEdit;
SaveDialog1: TSaveDialog;
OpenDialog1: TOpenDialog;
FontDialog1: TFontDialog;
PrintDialog1: TPrintDialog;
N16: TMenuItem;
procedure N4Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure N12Click(Sender: TObject);
procedure N13Click(Sender: TObject);
procedure N16Click(Sender: TObject);
procedure N14Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N15Click(Sender: TObject);
// procedure RichEdit1Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
mainForm: TmainForm;
CurFname:string; //该变量用来存放记事本当前打开文件的文件名
implementation
uses about;
{$R *.dfm}
//该过程用来把打开或新建的文件的文件名保存到CurName变量中,同时在窗体的标题栏显示文件名
procedure setfileName(const filename:string);
begin
CurFname:=filename;
mainform.caption:=format('%s-%s',[extractfilename(filename),application.title]);
end;
//该过程用来检查文件是否修改,如果修改则提示是否保存
procedure CheckFileModi;
var Resp:integer;
begin
if not mainform.RichEdit1.Modified then exit;
Resp:=messagedlg(format('将修改的文件存入文件%s?',
[CurFname]),mtconfirmation,mbyesnocancel,0);
case Resp of
idyes:mainform.RichEdit1.Lines.SaveToFile(CurFname);
idno:;
idcancel:abort;
end;
end;
// 该过程用来把参数filename指定的文件打开,关设置文件名
procedure performfileopen(const filename:string);
begin
mainform.RichEdit1.Lines.LoadFromFile(filename);
setfilename(filename);
mainform.RichEdit1.SetFocus;
end;
//“另存为”菜单项
procedure TmainForm.N7Click(Sender: TObject);
begin
if savedialog1.Execute then
begin
if fileexists(savedialog1.FileName) then
if messagedlg(format(' 是否覆盖文件%s?', [savedialog1.FileName]),mtconfirmation,
mbyesnocancel,0)<>idyes then exit;
mainform.richedit1.Lines.SaveToFile(savedialog1.FileName);
setfilename(savedialog1.FileName);
mainform.richedit1.Modified:=false;
end;
end;
//“打印”菜单项
procedure TmainForm.N8Click(Sender: TObject);
begin
if printdialog1.Execute then
mainform.RichEdit1.Print(CurFname);
end;
//“取消”菜单项
procedure TmainForm.N10Click(Sender: TObject);
begin
with mainform.RichEdit1 do
if handleallocated then sendmessage(handle,em_undo,0,0);
end;
//“复制”菜单项
procedure TmainForm.N11Click(Sender: TObject);
begin
mainform.RichEdit1.CopyToClipboard;
end;
//“粘贴”菜单项
procedure TmainForm.N12Click(Sender: TObject);
begin
mainform.RichEdit1.PasteFromClipboard;
end;
//“删除”菜单项
procedure TmainForm.N13Click(Sender: TObject);
begin
mainform.RichEdit1.SelText :='';
end;
//“剪切”菜单项
procedure TmainForm.N16Click(Sender: TObject);
begin
mainform.RichEdit1.CutToClipboard;
end;
//"字体"菜单项
procedure TmainForm.N14Click(Sender: TObject);
begin
if mainform.FontDialog1.Execute then
mainform.RichEdit1.Font:=fontdialog1.Font;
end;
//“新建”菜单项
procedure TmainForm.N4Click(Sender: TObject);
begin
CheckFileModi;
setfilename('未命名');
mainform.richedit1.Lines.Clear;
mainform.richedit1.Modified:=false;
end;
//"打开"菜单项
procedure TmainForm.N5Click(Sender: TObject);
begin
CheckFileModi;
if opendialog1.Execute then
begin
performfileopen(opendialog1.FileName);
mainform.richedit1.readonly:=ofreadonly in opendialog1.options;
end;
end;
procedure TmainForm.N9Click(Sender: TObject);
begin
close;
end;
procedure TmainForm.N15Click(Sender: TObject);
begin
form2.show;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -