⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 txtedit.pas

📁 文本编辑器的delphi设计
💻 PAS
字号:
unit txtedit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ImgList, ComCtrls, StdCtrls, ToolWin, Menus, ExtCtrls,Clipbrd;

type
  TForm1 = 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;
    Memo1: TMemo;
    StatusBar1: TStatusBar;
    N13: TMenuItem;
    N14: TMenuItem;
    N15: TMenuItem;
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    FontDialog1: TFontDialog;
    ColorDialog1: TColorDialog;
    ImageList1: TImageList;
    ToolBar1: TToolBar;
    ToolBtnNew: TToolButton;
    ToolBtnOpen: TToolButton;
    ToolBtnSave: TToolButton;
    ToolButton2: TToolButton;
    ToolBtnFont: TToolButton;
    ToolBtnColor: TToolButton;
    ToolButton1: TToolButton;
    ToolBtnAbout: TToolButton;
    Timer1: TTimer;
    procedure N10Click(Sender: TObject);
    procedure N11Click(Sender: TObject);
    procedure N13Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure N15Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure StatusBar1Hint(Sender: TObject);
    procedure N12Click(Sender: TObject);
    procedure N5Click(Sender: TObject);
    procedure N6Click(Sender: TObject);
    procedure N7Click(Sender: TObject);
    procedure ToolBtnNewClick(Sender: TObject);
    procedure ToolBtnOpenClick(Sender: TObject);
    procedure ToolBtnSaveClick(Sender: TObject);
    procedure ToolBtnFontClick(Sender: TObject);
    procedure ToolBtnColorClick(Sender: TObject);
    procedure ToolBtnAboutClick(Sender: TObject);
    procedure N8Click(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure N4Click(Sender: TObject);
   
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.N10Click(Sender: TObject);
begin
  if  FontDialog1.Execute then
  Memo1.font:=FontDialog1.font;
end;

procedure TForm1.N11Click(Sender: TObject);
begin
  if ColorDialog1.execute then
  memo1.Color:=ColorDialog1.Color;
end;

procedure TForm1.N13Click(Sender: TObject);
begin
  SaveDialog1.Title:='请输入要保存的文件名';
  savedialog1.Filter:='txt File(*.txt)|*.txt'; //设置过滤的文件类型
  if savedialog1.Execute then        //调用保存文件对话框
    begin
      SaveDialog1.FileName:=SaveDialog1.FileName+'.txt';  //为保存的文件添加txt后缀
      Memo1.Lines.savetoFile(saveDialog1.FileName); //将memo中的内容保存到保存文件对话框中指定的文件名和路径下
    end;
end;

procedure TForm1.N3Click(Sender: TObject);
begin
  OpenDialog1.Title:='请选择要打开的文件名';
  Opendialog1.Filter:='txt File(*.txt)|*.txt';  //设置过滤的文件类型
  if opendialog1.Execute then                   //调用打开文件对话框
    begin
      Memo1.Lines.LoadFromFile(OpenDialog1.FileName); //将文件内容添加到memo中
      memo1.Enabled:=true;
      N13.Enabled:=true;
      N10.Enabled:=true;
      N11.Enabled:=true;
      ToolBtnSave.Enabled:=true;
      ToolBtnFont.Enabled:=true;
      ToolBtnColor.Enabled:=true;
    end;
end;

procedure TForm1.N2Click(Sender: TObject);
begin
  memo1.Clear;//清空Memo中的内容
  memo1.Enabled:=true;
  N13.Enabled:=true;
  N10.Enabled:=true;
  N11.Enabled:=true;
  ToolBtnSave.Enabled:=true;
  ToolBtnFont.Enabled:=true;
  ToolBtnColor.Enabled:=true;
end;



procedure TForm1.Timer1Timer(Sender: TObject);
begin
  StatusBar1.Panels[1].text:=TimeToStr(time);
  StatusBar1.Panels[2].text:=dateToStr(date);
end;

procedure TForm1.N15Click(Sender: TObject);
begin
  close;
end;
procedure TForm1.StatusBar1Hint(Sender: TObject);
begin
  StatusBar1.Panels[0].Text:= Application.Hint;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Memo1.clear;
  Memo1.Enabled:=false;
  Application.OnHint:=StatusBar1Hint;
end;


procedure TForm1.N12Click(Sender: TObject);
begin
  messagedlg('本程序为基本组件的简单示例!'+#13+'制作人:cr',mtinformation,[mbok],0);
end;

procedure TForm1.N5Click(Sender: TObject);
begin
  Memo1.CutToClipboard;//将选中的内容剪切到剪贴板中
end;

procedure TForm1.N6Click(Sender: TObject);
begin
   Memo1.CopyToClipboard;//将选中的内容复制到剪贴板中
end;

procedure TForm1.N7Click(Sender: TObject);
begin
   Memo1.PasteFromClipboard;//将剪贴板中的内容粘贴到memo1中
end;

procedure TForm1.ToolBtnNewClick(Sender: TObject);
begin
  memo1.Clear;
  memo1.Enabled:=true;
  N13.Enabled:=true;
  N10.Enabled:=true;
  N11.Enabled:=true;
  ToolBtnSave.Enabled:=true;
  ToolBtnFont.Enabled:=true;
  ToolBtnColor.Enabled:=true;
end;

procedure TForm1.ToolBtnOpenClick(Sender: TObject);
begin
  OpenDialog1.Title:='请选择要打开的文件名';
  Opendialog1.Filter:='txt File(*.txt)|*.txt';
  if opendialog1.Execute then
    begin
      Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
      memo1.Enabled:=true;
      N13.Enabled:=true;
      N10.Enabled:=true;
      N11.Enabled:=true;
      ToolBtnSave.Enabled:=true;
      ToolBtnFont.Enabled:=true;
      ToolBtnColor.Enabled:=true;
    end;
end;

procedure TForm1.ToolBtnSaveClick(Sender: TObject);
begin
  SaveDialog1.Title:='请输入要保存的文件名';
  savedialog1.Filter:='txt File(*.txt)|*.txt';
  if savedialog1.Execute then
    begin
      SaveDialog1.FileName:=SaveDialog1.FileName+'.txt';
      Memo1.Lines.savetoFile(saveDialog1.FileName);
    end;
end;


procedure TForm1.ToolBtnFontClick(Sender: TObject);
begin
  if  FontDialog1.Execute then
  Memo1.font:=FontDialog1.font;
end;

procedure TForm1.ToolBtnColorClick(Sender: TObject);
begin
  if ColorDialog1.execute then
  memo1.Color:=ColorDialog1.Color;
end;

procedure TForm1.ToolBtnAboutClick(Sender: TObject);
begin
  messagedlg('本程序为基本组件的简单示例!'+#13+'制作人:cr',mtinformation,[mbok],0);
end;

procedure TForm1.N8Click(Sender: TObject);
begin
  Memo1.ClearSelection;//清除所选择的内容
end;



procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  if memo1.Modified then
  begin
    case messagedlg('文档已被修改,您是否要保存?',mtConfirmation,[mbYes,mbNo,mbCancel],0) of
      idYes: N13Click(self);
      idCancel: CanClose:=false;
    end;
  end;
end;

procedure TForm1.N4Click(Sender: TObject);
var
  HasSelection:Boolean;
begin
  N7.Enabled:=Clipboard.HasFormat(CF_TEXT);  //判断剪贴板中是否有内容
  HasSelection:=memo1.SelLength>0; //判断是否有选择的内容
  //根据内容来改变剪切、复制和删除菜单命令的状态
  N5.Enabled:=HasSelection;
  N6.Enabled:=HasSelection;
  N8.Enabled:=HasSelection;
end;



end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -