📄 upasfileeditsetform.pas
字号:
unit uPasFileEditSetForm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, SynEdit, SynMemo, SynEditHighlighter,
SynHighlighterPas, ExtCtrls, uPasFileEditForm;
type
TPasFileEditSetForm = class(TForm)
lblKind: TLabel;
Kind: TListBox;
GroupBox1: TGroupBox;
Editor: TSynMemo;
FColor: TCheckBox;
BColor: TCheckBox;
Panel1: TPanel;
Bold: TCheckBox;
Italic: TCheckBox;
Underline: TCheckBox;
pnlFColor: TPanel;
pnlBColor: TPanel;
Cancel: TButton;
Apply: TButton;
ColorDialog: TColorDialog;
procedure FormCreate(Sender: TObject);
procedure KindClick(Sender: TObject);
procedure ApplyClick(Sender: TObject);
procedure CancelClick(Sender: TObject);
procedure pnlFColorClick(Sender: TObject);
procedure pnlBColorClick(Sender: TObject);
procedure FColorClick(Sender: TObject);
procedure BColorClick(Sender: TObject);
procedure BoldClick(Sender: TObject);
procedure ItalicClick(Sender: TObject);
procedure UnderlineClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
PasFileEditSetForm: TPasFileEditSetForm;
implementation
{$R *.dfm}
procedure TPasFileEditSetForm.FormCreate(Sender: TObject);
var
C: HICON;
begin
Kind.ItemIndex := 0;
Kind.OnClick(Kind);
{ Replace Borland's hand cursor with windows default one, if available }
C := LoadCursor(0, IDC_HAND);
if C <> 0 then Screen.Cursors[crHandPoint] := C;
end;
procedure TPasFileEditSetForm.KindClick(Sender: TObject);
begin
with Kind do
case ItemIndex of
0:
with PasFileEditForm.SynPasSyn.AsmAttri do
begin
pnlBColor.Color := Background;
pnlFColor.Color := Foreground;
pnlBColor.Caption := ColorToString(Background);
pnlFColor.Caption := ColorToString(Foreground);
BColor.Checked := Background <> clNone;
FColor.Checked := Foreground <> clNone;
Bold.Checked := fsBold in Style;
Italic.Checked := fsItalic in Style;
Underline.Checked := fsUnderline in Style;
end;
1:
with PasFileEditForm.SynPasSyn.CharAttri do
begin
pnlBColor.Color := Background;
pnlFColor.Color := Foreground;
pnlBColor.Caption := ColorToString(Background);
pnlFColor.Caption := ColorToString(Foreground);
BColor.Checked := Background <> clNone;
FColor.Checked := Foreground <> clNone;
Bold.Checked := fsBold in Style;
Italic.Checked := fsItalic in Style;
Underline.Checked := fsUnderline in Style;
end;
2:
with PasFileEditForm.SynPasSyn.CommentAttri do
begin
pnlBColor.Color := Background;
pnlFColor.Color := Foreground;
pnlBColor.Caption := ColorToString(Background);
pnlFColor.Caption := ColorToString(Foreground);
BColor.Checked := Background <> clNone;
FColor.Checked := Foreground <> clNone;
Bold.Checked := fsBold in Style;
Italic.Checked := fsItalic in Style;
Underline.Checked := fsUnderline in Style;
end;
3:
with PasFileEditForm.SynPasSyn.DirectiveAttri do
begin
pnlBColor.Color := Background;
pnlFColor.Color := Foreground;
pnlBColor.Caption := ColorToString(Background);
pnlFColor.Caption := ColorToString(Foreground);
BColor.Checked := Background <> clNone;
FColor.Checked := Foreground <> clNone;
Bold.Checked := fsBold in Style;
Italic.Checked := fsItalic in Style;
Underline.Checked := fsUnderline in Style;
end;
4:
with PasFileEditForm.SynPasSyn.FloatAttri do
begin
pnlBColor.Color := Background;
pnlFColor.Color := Foreground;
pnlBColor.Caption := ColorToString(Background);
pnlFColor.Caption := ColorToString(Foreground);
BColor.Checked := Background <> clNone;
FColor.Checked := Foreground <> clNone;
Bold.Checked := fsBold in Style;
Italic.Checked := fsItalic in Style;
Underline.Checked := fsUnderline in Style;
end;
5:
with PasFileEditForm.SynPasSyn.HexAttri do
begin
pnlBColor.Color := Background;
pnlFColor.Color := Foreground;
pnlBColor.Caption := ColorToString(Background);
pnlFColor.Caption := ColorToString(Foreground);
BColor.Checked := Background <> clNone;
FColor.Checked := Foreground <> clNone;
Bold.Checked := fsBold in Style;
Italic.Checked := fsItalic in Style;
Underline.Checked := fsUnderline in Style;
end;
6:
with PasFileEditForm.SynPasSyn.IdentifierAttri do
begin
pnlBColor.Color := Background;
pnlFColor.Color := Foreground;
pnlBColor.Caption := ColorToString(Background);
pnlFColor.Caption := ColorToString(Foreground);
BColor.Checked := Background <> clNone;
FColor.Checked := Foreground <> clNone;
Bold.Checked := fsBold in Style;
Italic.Checked := fsItalic in Style;
Underline.Checked := fsUnderline in Style;
end;
7:
with PasFileEditForm.SynPasSyn.KeyAttri do
begin
pnlBColor.Color := Background;
pnlFColor.Color := Foreground;
pnlBColor.Caption := ColorToString(Background);
pnlFColor.Caption := ColorToString(Foreground);
BColor.Checked := Background <> clNone;
FColor.Checked := Foreground <> clNone;
Bold.Checked := fsBold in Style;
Italic.Checked := fsItalic in Style;
Underline.Checked := fsUnderline in Style;
end;
8:
with PasFileEditForm.SynPasSyn.NumberAttri do
begin
pnlBColor.Color := Background;
pnlFColor.Color := Foreground;
pnlBColor.Caption := ColorToString(Background);
pnlFColor.Caption := ColorToString(Foreground);
BColor.Checked := Background <> clNone;
FColor.Checked := Foreground <> clNone;
Bold.Checked := fsBold in Style;
Italic.Checked := fsItalic in Style;
Underline.Checked := fsUnderline in Style;
end;
9:
with PasFileEditForm.SynPasSyn.SpaceAttri do
begin
pnlBColor.Color := Background;
pnlFColor.Color := Foreground;
pnlBColor.Caption := ColorToString(Background);
pnlFColor.Caption := ColorToString(Foreground);
BColor.Checked := Background <> clNone;
FColor.Checked := Foreground <> clNone;
Bold.Checked := fsBold in Style;
Italic.Checked := fsItalic in Style;
Underline.Checked := fsUnderline in Style;
end;
10:
with PasFileEditForm.SynPasSyn.StringAttri do
begin
pnlBColor.Color := Background;
pnlFColor.Color := Foreground;
pnlBColor.Caption := ColorToString(Background);
pnlFColor.Caption := ColorToString(Foreground);
BColor.Checked := Background <> clNone;
FColor.Checked := Foreground <> clNone;
Bold.Checked := fsBold in Style;
Italic.Checked := fsItalic in Style;
Underline.Checked := fsUnderline in Style;
end;
11:
with PasFileEditForm.SynPasSyn.SymbolAttri do
begin
pnlBColor.Color := Background;
pnlFColor.Color := Foreground;
pnlBColor.Caption := ColorToString(Background);
pnlFColor.Caption := ColorToString(Foreground);
BColor.Checked := Background <> clNone;
FColor.Checked := Foreground <> clNone;
Bold.Checked := fsBold in Style;
Italic.Checked := fsItalic in Style;
Underline.Checked := fsUnderline in Style;
end;
end;
//防止文字看不清楚
pnlFColor.Font.Color := pnlFColor.Color xor $FFFFFFFF;
pnlBColor.Font.Color := pnlBColor.Color xor $FFFFFFFF;
end;
procedure TPasFileEditSetForm.ApplyClick(Sender: TObject);
begin
PasFileEditForm.SynPasSyn.SaveToFile(ExtractFilePath(ParamStr(0)) + colorfile);
close;
end;
procedure TPasFileEditSetForm.CancelClick(Sender: TObject);
begin
Close;
end;
procedure TPasFileEditSetForm.pnlFColorClick(Sender: TObject);
begin
ColorDialog.Color := pnlFColor.Color;
if ColorDialog.Execute then
begin
pnlFColor.Color := ColorDialog.Color;
FColor.Checked := pnlFColor.Color <> clNone;
case Kind.ItemIndex of
0:
with PasFileEditForm.SynPasSyn.AsmAttri do
Foreground := pnlFColor.Color;
1:
with PasFileEditForm.SynPasSyn.CharAttri do
Foreground := pnlFColor.Color;
2:
with PasFileEditForm.SynPasSyn.CommentAttri do
Foreground := pnlFColor.Color;
3:
with PasFileEditForm.SynPasSyn.DirectiveAttri do
Foreground := pnlFColor.Color;
4:
with PasFileEditForm.SynPasSyn.FloatAttri do
Foreground := pnlFColor.Color;
5:
with PasFileEditForm.SynPasSyn.HexAttri do
Foreground := pnlFColor.Color;
6:
with PasFileEditForm.SynPasSyn.IdentifierAttri do
Foreground := pnlFColor.Color;
7:
with PasFileEditForm.SynPasSyn.KeyAttri do
Foreground := pnlFColor.Color;
8:
with PasFileEditForm.SynPasSyn.NumberAttri do
Foreground := pnlFColor.Color;
9:
with PasFileEditForm.SynPasSyn.SpaceAttri do
Foreground := pnlFColor.Color;
10:
with PasFileEditForm.SynPasSyn.StringAttri do
Foreground := pnlFColor.Color;
11:
with PasFileEditForm.SynPasSyn.SymbolAttri do
Foreground := pnlFColor.Color;
end;
pnlFColor.Caption := ColorToString(pnlFColor.Color);
end;
end;
procedure TPasFileEditSetForm.pnlBColorClick(Sender: TObject);
begin
ColorDialog.Color := pnlBColor.Color;
if ColorDialog.Execute then
begin
pnlBColor.Color := ColorDialog.Color;
BColor.Checked := pnlBColor.Color <> clNone;
case Kind.ItemIndex of
0:
with PasFileEditForm.SynPasSyn.AsmAttri do
Background := pnlBColor.Color;
1:
with PasFileEditForm.SynPasSyn.CharAttri do
Background := pnlBColor.Color;
2:
with PasFileEditForm.SynPasSyn.CommentAttri do
Background := pnlBColor.Color;
3:
with PasFileEditForm.SynPasSyn.DirectiveAttri do
Background := pnlBColor.Color;
4:
with PasFileEditForm.SynPasSyn.FloatAttri do
Background := pnlBColor.Color;
5:
with PasFileEditForm.SynPasSyn.HexAttri do
Background := pnlBColor.Color;
6:
with PasFileEditForm.SynPasSyn.IdentifierAttri do
Background := pnlBColor.Color;
7:
with PasFileEditForm.SynPasSyn.KeyAttri do
Background := pnlBColor.Color;
8:
with PasFileEditForm.SynPasSyn.NumberAttri do
Background := pnlBColor.Color;
9:
with PasFileEditForm.SynPasSyn.SpaceAttri do
Background := pnlBColor.Color;
10:
with PasFileEditForm.SynPasSyn.StringAttri do
Background := pnlBColor.Color;
11:
with PasFileEditForm.SynPasSyn.SymbolAttri do
Background := pnlBColor.Color;
end;
pnlBColor.Caption := ColorToString(pnlBColor.Color);
end;
end;
procedure TPasFileEditSetForm.FColorClick(Sender: TObject);
begin
if not FColor.Checked then
begin
pnlFColor.Color := clNone;
case Kind.ItemIndex of
0:
with PasFileEditForm.SynPasSyn.AsmAttri do
Foreground := pnlFColor.Color;
1:
with PasFileEditForm.SynPasSyn.CharAttri do
Foreground := pnlFColor.Color;
2:
with PasFileEditForm.SynPasSyn.CommentAttri do
Foreground := pnlFColor.Color;
3:
with PasFileEditForm.SynPasSyn.DirectiveAttri do
Foreground := pnlFColor.Color;
4:
with PasFileEditForm.SynPasSyn.FloatAttri do
Foreground := pnlFColor.Color;
5:
with PasFileEditForm.SynPasSyn.HexAttri do
Foreground := pnlFColor.Color;
6:
with PasFileEditForm.SynPasSyn.IdentifierAttri do
Foreground := pnlFColor.Color;
7:
with PasFileEditForm.SynPasSyn.KeyAttri do
Foreground := pnlFColor.Color;
8:
with PasFileEditForm.SynPasSyn.NumberAttri do
Foreground := pnlFColor.Color;
9:
with PasFileEditForm.SynPasSyn.SpaceAttri do
Foreground := pnlFColor.Color;
10:
with PasFileEditForm.SynPasSyn.StringAttri do
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -