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

📄 upasfileeditsetform.pas

📁 Delphi函数工厂。。。。。。。。。。。。。
💻 PAS
📖 第 1 页 / 共 2 页
字号:
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 + -