📄 editfm.pas
字号:
unit EditFM;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, StdCtrls, ComCtrls, XPMan, ToolWin, ImgList;
type
Teditform = class(TForm)
TMainMenu: TMainMenu;
MIFile: TMenuItem;
MIEdit: TMenuItem;
MICharacter: TMenuItem;
MIHelp: TMenuItem;
MINew: TMenuItem;
MIOpen: TMenuItem;
MISave: TMenuItem;
MISaveAs: TMenuItem;
MIPrint: TMenuItem;
MIPrinterSetup: TMenuItem;
N1: TMenuItem;
MIExit: TMenuItem;
U1: TMenuItem;
R1: TMenuItem;
N2: TMenuItem;
T1: TMenuItem;
C1: TMenuItem;
P1: TMenuItem;
D1: TMenuItem;
A1: TMenuItem;
N3: TMenuItem;
F1: TMenuItem;
L1: TMenuItem;
mileft: TMenuItem;
micenter: TMenuItem;
miright: TMenuItem;
N5: TMenuItem;
W1: TMenuItem;
N6: TMenuItem;
F2: TMenuItem;
N7: TMenuItem;
Editor: TRichEdit;
PopupMenu1: TPopupMenu;
U2: TMenuItem;
R2: TMenuItem;
N8: TMenuItem;
T2: TMenuItem;
C3: TMenuItem;
P2: TMenuItem;
D2: TMenuItem;
A2: TMenuItem;
N9: TMenuItem;
F3: TMenuItem;
L3: TMenuItem;
DgOpen: TOpenDialog;
DgSave: TSaveDialog;
DgPrint: TPrintDialog;
DgPrinterSetup: TPrinterSetupDialog;
DgFont: TFontDialog;
DgFind: TFindDialog;
DgReplace: TReplaceDialog;
XPManifest1: TXPManifest;
ImageList1: TImageList;
ToolBar: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
StatusBar: TStatusBar;
N4: TMenuItem;
procedure MIExitClick(Sender: TObject);
procedure MINewClick(Sender: TObject);
procedure MISaveAsClick(Sender: TObject);
procedure MISaveClick(Sender: TObject);
procedure MIPrintClick(Sender: TObject);
procedure MIPrinterSetupClick(Sender: TObject);
procedure MIOpenClick(Sender: TObject);
procedure T1Click(Sender: TObject);
procedure C1Click(Sender: TObject);
procedure P1Click(Sender: TObject);
procedure D1Click(Sender: TObject);
procedure A1Click(Sender: TObject);
procedure U1Click(Sender: TObject);
procedure R1Click(Sender: TObject);
procedure F1Click(Sender: TObject);
procedure DgFindFind(Sender: TObject);
procedure L1Click(Sender: TObject);
procedure DgReplaceReplace(Sender: TObject);
procedure F2Click(Sender: TObject);
procedure W1Click(Sender: TObject);
procedure mileftClick(Sender: TObject);
procedure micenterClick(Sender: TObject);
procedure mirightClick(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
procedure EditorChange(Sender: TObject);
//procedure R2Click(Sender: TObject);
private
{ Private declarations }
PathName: string;
hasundo:boolean;
public
{ Public declarations }
procedure checktextmodified;
end;
var
editform: Teditform;
const
DefaultFileName='无标题';
implementation
uses
unit2;
{$R *.dfm}
//*********************************************************
// 关闭
//*********************************************************
procedure Teditform.MIExitClick(Sender: TObject);
begin
checktextmodified;
close;
end;
//*********************************************************
// 新建
//*********************************************************
procedure Teditform.MINewClick(Sender: TObject);
begin
checktextmodified;
Editor.Lines.Clear;
Editor.Modified:=false;//??
PathName:=DefaultFileName;
self.Caption:=DefaultFileName;//??
end;
//*********************************************************
// 另存为
//*********************************************************
procedure Teditform.MISaveAsClick(Sender: TObject);
begin
DgSave.FileName:=DefaultFileName;
if DgSave.Execute then
begin
pathname:=dgsave.FileName;
if dgsave.FilterIndex=1 then//??
begin
editor.plaintext:=true;
pathname:=pathname+'.txt';
end;
if dgsave.FilterIndex=2 then
begin
editor.Plaintext:=false;
pathname:=pathname+'.rtf';
end;
if dgsave.FilterIndex =3 then
begin
editor.plaintext:=false;
end;
editor.lines.SaveToFile(pathname);
editor.Modified :=false;
caption:=extractfilename(pathname);
statusbar.panels[1].text:=' ';
end;
end;
//*********************************************************
// 保存
//*********************************************************
procedure Teditform.MISaveClick(Sender: TObject);
begin
if pathname=defaultfilename then
misaveasclick(sender) //??
else
begin
editor.Lines.SaveToFile(pathname); //??
editor.Modified:=false;
statusbar.panels[1].text:=' '; //??
end;
end;
//*********************************************************
// 打印
//*********************************************************
procedure Teditform.MIPrintClick(Sender: TObject);
begin
if dgprint.Execute then
editor.Print(pathname);//??;
end;
//*********************************************************
// 打印设置
//*********************************************************
procedure Teditform.MIPrinterSetupClick(Sender: TObject);
begin
dgprintersetup.Execute;
end;
//*********************************************************
// 打开
//*********************************************************
procedure Teditform.MIOpenClick(Sender: TObject);
begin
dgopen.Execute;
end;
//*********************************************************
// 剪切
//*********************************************************
procedure Teditform.T1Click(Sender: TObject);
begin
editor.CutToClipboard;
end;
//*********************************************************
// 复制
//*********************************************************
procedure Teditform.C1Click(Sender: TObject);
begin
editor.copyToClipboard;
end;
//*********************************************************
// 粘贴
//*********************************************************
procedure Teditform.P1Click(Sender: TObject);
begin
editor.PasteFromClipboard;
end;
//*********************************************************
// 删除
//*********************************************************
procedure Teditform.D1Click(Sender: TObject);
begin
editor.ClearSelection;
end;
//*********************************************************
// 全选
//*********************************************************
procedure Teditform.A1Click(Sender: TObject);
begin
editor.SelectAll;
end;
//*********************************************************
// 撤消
//*********************************************************
procedure Teditform.U1Click(Sender: TObject);
begin
if not hasundo then
begin
editor.Undo;
hasundo:=true;
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -