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

📄 teestringseditor.pas

📁 BCB第三方组件
💻 PAS
字号:
{**********************************************}
{   TeeChart - Strings editor dialog           }
{   Copyright (c) 2006-2007 by David Berneda   }
{**********************************************}
unit TeeStringsEditor;
{$I TeeDefs.inc}

interface

uses
  {$IFNDEF LINUX}
  Windows, Messages,
  {$ENDIF}
  Classes, SysUtils,
  {$IFDEF CLX}
  QGraphics, QControls, QForms, QDialogs, QStdCtrls, QExtCtrls, QClipbrd,
  QButtons,
  {$ELSE}
  Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Clipbrd, Buttons,
  {$ENDIF}
  TeeProcs;

type
  TStringsEditor = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Memo1: TMemo;
    Button4: TButton;
    Button5: TButton;
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

// Show an editor dialog to modify "Strings". Returns True if user clicks the OK button.
function TeeEditStrings(AOwner:TComponent; Strings:TStrings; ReadOnly:Boolean=False):Boolean; overload;

// Show an editor dialog to modify "Text" string. Returns True if user clicks the OK button.
function TeeEditStrings(AOwner:TComponent; var Text:String; ReadOnly:Boolean=False):Boolean; overload;

implementation

{$IFNDEF CLX}
{$IFNDEF LCL}
{$R *.DFM}
{$ENDIF}
{$ELSE}
{$R *.xfm}
{$ENDIF}

uses
  TeePenDlg;

procedure TStringsEditor.Button3Click(Sender: TObject);
var tmp : String;
begin
  tmp:=Memo1.SelText;

  if tmp='' then
     tmp:=Memo1.Lines.Text;

  Clipboard.AsText:=tmp;
end;

// Show an editor dialog to modify "Strings".
// Returns True if user clicks OK button.
function TeeEditStrings(AOwner:TComponent; Strings:TStrings; ReadOnly:Boolean=False):Boolean;
var tmp : TStringsEditor;
begin
  tmp:=TStringsEditor.Create(AOwner);
  try
    if Assigned(AOwner) and (not Assigned(AOwner.Owner)) then
       PositionToCenter(tmp);

    tmp.Memo1.Lines:=Strings;
    tmp.Memo1.ReadOnly:=ReadOnly;

    TeeTranslateControl(tmp);

    result:=tmp.ShowModal=mrOk;

    if (not ReadOnly) and result then
       Strings.Assign(tmp.Memo1.Lines);
  finally
    tmp.Free;
  end;
end;

function TeeEditStrings(AOwner:TComponent; var Text:String; ReadOnly:Boolean=False):Boolean;
var tmp : TStringsEditor;
begin
  tmp:=TStringsEditor.Create(AOwner);
  try
    if Assigned(AOwner) then
       PositionToCenter(tmp);

    tmp.Memo1.Lines.Text:=Text;
    tmp.Memo1.ReadOnly:=ReadOnly;

    TeeTranslateControl(tmp);

    result:=tmp.ShowModal=mrOk;

    if (not ReadOnly) and result then
       Text:=tmp.Memo1.Lines.Text;
  finally
    tmp.Free;
  end;
end;

procedure TStringsEditor.Button4Click(Sender: TObject);
begin
  if OpenDialog1.Execute then
     Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
end;

procedure TStringsEditor.Button5Click(Sender: TObject);
begin
  if SaveDialog1.Execute then
     Memo1.Lines.SaveToFile(SaveDialog1.FileName);
end;

procedure TStringsEditor.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key=TeeKey_Escape then
     ModalResult:=mrCancel;
end;

end.

⌨️ 快捷键说明

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