📄 symbolframe.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 + -