delphi 中的 RichEdit savaDialog openDialog fontDialog 的初次使用

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls;

type
  TForm1 = class(TForm)
    RichEdit: TRichEdit;
    btn_copy: TButton;
    btn_cut: TButton;
    btn_paste: TButton;
    btn_del: TButton;
    btn_select: TButton;
    btn_canel: TButton;
    btn_new: TButton;
    btn_save: TButton;
    btn_open: TButton;
    btn_font: TButton;
    OpenDig: TOpenDialog;
    SaveDlog: TSaveDialog;
    FontDialog: TFontDialog;
    procedure btn_copyClick(Sender: TObject);
    procedure btn_cutClick(Sender: TObject);
    procedure btn_pasteClick(Sender: TObject);
    procedure btn_delClick(Sender: TObject);
    procedure btn_selectClick(Sender: TObject);
    procedure btn_canelClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure RichEditSelectionChange(Sender: TObject);
    procedure btn_newClick(Sender: TObject);
    procedure btn_openClick(Sender: TObject);
    procedure btn_saveClick(Sender: TObject);
    procedure btn_fontClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.btn_copyClick(Sender: TObject);
begin
      RichEdit.CopyToClipboard;
      RichEdit.SetFocus;
end;

procedure TForm1.btn_cutClick(Sender: TObject);
begin
          RichEdit.CutToClipboard;
          RichEdit.SetFocus;
end;

procedure TForm1.btn_pasteClick(Sender: TObject);
begin
         RichEdit.PasteFromClipboard;
         RichEdit.SetFocus;
end;

procedure TForm1.btn_delClick(Sender: TObject);
begin
          RichEdit.SelText := '';
          RichEdit.SetFocus;
end;

procedure TForm1.btn_selectClick(Sender: TObject);
begin
          RichEdit.HideSelection := false;
          RichEdit.SelectAll;
          RichEdit.SetFocus;
end;

procedure TForm1.btn_canelClick(Sender: TObject);
begin
           RichEdit.Undo;
           RichEdit.SetFocus;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
      if RichEdit.SelLength = 0
      then begin
              btn_copy.Enabled := false;
              btn_cut.Enabled := false;
              btn_del.Enabled := false;
           end
      else begin
              btn_copy.Enabled := true;
              btn_cut.Enabled := true;
              btn_del.Enabled := true;
           end
end;

procedure TForm1.RichEditSelectionChange(Sender: TObject);
begin
      if RichEdit.SelLength = 0
      then begin
              btn_copy.Enabled := false;
              btn_cut.Enabled := false;
              btn_del.Enabled := false;
           end
      else begin
              btn_copy.Enabled := true;
              btn_cut.Enabled := true;
              btn_del.Enabled := true;
           end
end;

procedure TForm1.btn_newClick(Sender: TObject);
        var i:word;
begin
        if RichEdit.Modified
        then begin
               i := messagedlg('文件被修改了,是否保存',mtconfirmation,[mbyes,mbno,mbcancel],1);
                 if i = mryes then
                   if   SaveDlog.Execute then begin
                                                RichEdit.Lines.SaveToFile(saveDlog.FileName);
                                                RichEdit.Text :='';
                                                RichEdit.Modified := false;
                                              end;
                   if i=mrno then
                     begin
                        RichEdit.Text := '';
                        RichEdit.Modified := false;
                     end;
              end
        else begin
              RichEdit.Text := '';
              RichEdit.Modified := false;
              end;

end;

procedure TForm1.btn_openClick(Sender: TObject);
      var i:word;
begin
      if RichEdit.Modified then
          begin
            i:=messagedlg('文件被修改,是否先保存。。',mtconfirmation,[mbyes,mbno,mbcancel],1);
          if i = mryes then
                         if SaveDlog.Execute then
                              begin
                                   RichEdit.Lines.SaveToFile(SaveDlog.FileName);
                                   if OpenDig.Execute then
                                       RichEdit.Lines.LoadFromFile(OpenDig.FileName);
                                   RichEdit.Modified := false;
                              end;
          if i = mrno then
                          if OpenDig.Execute then
                          begin
                              RichEdit.Lines.LoadFromFile(OpenDig.FileName);
                              RichEdit.Modified := false;
                          end;
          end
      else
          begin
             if OpenDig.Execute then
                  RichEdit.Lines.LoadFromFile(OpenDig.FileName);
                  RichEdit.Modified := false;
          end;
end;

procedure TForm1.btn_saveClick(Sender: TObject);
begin
    if RichEdit.Modified then
         if SaveDlog.Execute then
             begin
               RichEdit.Lines.SaveToFile(SaveDlog.FileName);
               RichEdit.Modified := false;
             end; 
end;

procedure TForm1.btn_fontClick(Sender: TObject);
begin
       FontDialog.Font.Assign(RichEdit.DefAttributes);
       if FontDialog.Execute then
             RichEdit.SelAttributes.Assign(FontDialog.Font);
end;

end.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值