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

📄 symbolframe.pas

📁 一个可以把源代码以语法高亮的形式转换成HTML格式或RTF格式。
💻 PAS
字号:
unit SymbolFrame;

interface

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

type
  TFrameSymbol = class(TFrame)
    SMFontFrame: TFrameFont;
    edtBValue: TEdit;
    edtEValue: TEdit;
    lblBValue: TLabel;
    lblEValue: TLabel;
    Bevel1: TBevel;
    lblFont: TLabel;
    Bevel2: TBevel;
    lblGeneral: TLabel;
    cbRange: TComboBox;
    cbHightLight: TComboBox;
    cbDoubleSym: TCheckBox;
    lblRange: TLabel;
    lblHightLight: TLabel;
    lblSEC: TLabel;
    edtESC: TEdit;
    procedure edtBValueKeyPress(Sender: TObject; var Key: Char);
    procedure cbDoubleSymClick(Sender: TObject);
    procedure cbRangeChange(Sender: TObject);
  private
    { Private declarations }
  public
    constructor Create(AOwner: TComponent); override;
    { Public declarations }
    procedure getLangRes;
  end;

implementation
uses
  CommonUtils;//, gnugettext;

{$R *.dfm}

procedure TFrameSymbol.getLangRes;
begin
  lblGeneral.Caption := pubGet(409);
  lblRange.Caption := pubGet(410);
  cbDoubleSym.Caption := pubGet(411);
  lblHightLight.Caption := pubGet(412);
  lblBValue.Caption := pubGet(413);
  lblEValue.Caption := pubGet(414);
  lblSEC.Caption := pubGet(415);
  lblFont.Caption := pubGet(306);

  cbRange.Hint := pubGet(506);  
  cbDoubleSym.Hint := pubGet(507);
  cbHightLight.Hint := pubGet(508);
  edtBValue.Hint := pubGet(509);
  edtEValue.Hint := pubGet(510);
  edtESC.Hint := pubGet(511);
end;

procedure TFrameSymbol.edtBValueKeyPress(Sender: TObject; var Key: Char);
begin
  // 开始、结束、转义符 必须符号开头
  if (TCustomEdit(Sender).SelStart =0) and Not IsSymbol(Key) then
    Key := #0;
end;

procedure TFrameSymbol.cbDoubleSymClick(Sender: TObject);
begin
  edtEValue.Enabled := cbDoubleSym.Checked ;
  if edtEValue.Enabled then
    edtEValue.Color := clWindow
  else
    edtEValue.Color := clBtnFace;
end;

constructor TFrameSymbol.Create(AOwner: TComponent);
begin
  inherited;
  //ToDo: TranslateComponent(self);  多语言处理
  //cbRange.ItemIndex := 0;         // 多行
  //cbHightLight.ItemIndex := 0;    // 都高亮
  getLangRes;
end;

procedure TFrameSymbol.cbRangeChange(Sender: TObject);
begin
  if cbRange.ItemIndex = 0 then      //MutilLine
  begin
    cbDoubleSym.Checked := True;
    cbDoubleSym.Enabled := False;
    edtEValue.Enabled := True;
    edtEValue.Color := clWindow;
    cbHightLight.Enabled := True;
    cbHightLight.Color := clWindow;
    edtESC.Enabled := True;
    edtESC.Color := clWindow ;
  end
  else if cbRange.ItemIndex = 1 then //SingleLine
  begin
    cbDoubleSym.Enabled := True;
    cbDoubleSymClick(nil);
    cbHightLight.Enabled := True;
    cbHightLight.Color := clWindow;
    edtESC.Enabled := True;
    edtESC.Color := clWindow;
  end
  else if cbRange.ItemIndex = 2 then //OneWord
  begin
    cbDoubleSym.Enabled := False;
    cbDoubleSym.Checked := False;
    edtEValue.Enabled := False;
    edtEValue.Color := clBtnFace;
    cbHightLight.Enabled := True;
    cbHightLight.Color := clWindow;
    edtESC.Enabled := False;
    edtESC.Color := clBtnFace;
  end
  else begin                         //None
    cbDoubleSym.Enabled := False;
    cbDoubleSym.Checked := False;
    edtEValue.Enabled := False;
    edtEValue.Color := clBtnFace;
    cbHightLight.Enabled := False;
    cbHightLight.Color := clBtnFace;
    edtESC.Enabled := False;
    edtESC.Color := clBtnFace;
  end;
end;

end.

⌨️ 快捷键说明

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