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

📄 richviewactions.pas

📁 richviewaction 1.58 需要richview 1.9.46
💻 PAS
📖 第 1 页 / 共 5 页
字号:
  published
    property ActionList: TActionList read GetActionList write SetActionList;
    property OnLiveSpellGetSuggestions: TRVA2LiveSpellGetSuggestionsEvent
      read FOnLiveSpellGetSuggestions write FOnLiveSpellGetSuggestions;
    property OnLiveSpellIgnoreAll: TRVA2LiveSpellIgnoreAllEvent
      read FOnLiveSpellIgnoreAll write FOnLiveSpellIgnoreAll;
    property OnLiveSpellAdd: TRVA2LiveSpellAddEvent
      read FOnLiveSpellAdd write FOnLiveSpellAdd;
    property OnLiveSpellWordReplace: TRVA2LiveSpellReplaceEvent
      read FOnLiveSpellWordReplace write FOnLiveSpellWordReplace;
    property MaxSuggestionsCount: Integer read GetMaxSuggestionsCount write SetMaxSuggestionsCount default 0;
  end;
  {$ENDIF}

  TrvCustomAction = class(TAction {$IFDEF USERVTNT},ITntAction{$ENDIF})
  private
    {$IFDEF USERVTNT}
    function GetCaption: WideString;
    procedure SetCaption(const Value: WideString);
    function GetHint: WideString;
    procedure SetHint(const Value: WideString);
    {$ENDIF}
  protected
    FMessageID: TRVAMessageID;
    FDisabled: Boolean;
    procedure Localize; dynamic;
    {$IFDEF USERVTNT}
    procedure DefineProperties(Filer: TFiler); override;
  public
    procedure Assign(Source: TPersistent); override;  
    {$ENDIF}
  published
    property Disabled: Boolean read FDisabled write FDisabled default False;
    {$IFDEF USERVTNT}
    property Caption: WideString read GetCaption write SetCaption;
    property Hint: WideString read GetHint write SetHint;
    {$ENDIF}
  end;

  TrvAction = class(TrvCustomAction)
  private
    FControl: TCustomRichViewEdit;
    procedure SetControl(Value: TCustomRichViewEdit);
  protected
    function GetControl(Target: TObject): TCustomRichViewEdit; virtual;
    procedure Notification(AComponent: TComponent; Operation: TOperation); override;
    procedure IterateProc(RVData: TCustomRVData; ItemNo: Integer; rve: TCustomRichViewEdit; var CustomData: Integer); virtual;
    function ContinueIteration(var CustomData: Integer): Boolean; virtual;
    procedure IterateRVData(RVData: TCustomRVData; rve: TCustomRichViewEdit; StartNo, EndNo: Integer;
      var CustomData: Integer);
  public
    function HandlesTarget(Target: TObject): Boolean; override;
    procedure UpdateTarget(Target: TObject); override;
  published
    property Control: TCustomRichViewEdit read FControl write SetControl;
  end;

  TrvActionEvent = class(TrvAction)
  private
    FOnUpdate, FOnExecute: TRVAEvent;
  protected
  public
    procedure ExecuteTarget(Target: TObject); override;
    procedure UpdateTarget(Target: TObject); override;
  published
    property OnUpdate: TRVAEvent read FOnUpdate write FOnUpdate;
    property OnExecute: TRVAEvent read FOnExecute write FOnExecute;
  end;

{ ------------------ File ------------------------- }
  TrvaDocumentInfo = class
    public
      rve: TCustomRichViewEdit;
      FileName: String;
      FileFormat: TrvFileSaveFilter;
      CustomFilterIndex: Integer;
      Defined, LFWarned: Boolean;
      LFWFileFormat: TrvFileSaveFilter;
      LFWCustomFilterIndex: Integer;
  end;

  TrvActionSave = class;

  TrvActionNew = class(TrvAction)
  private
    FActionSave: TrvActionSave;
    FOnNew: TNotifyEvent;
    procedure SetActionSave(const Value: TrvActionSave);
    function GetActionSave: TrvActionSave;
  protected
    procedure Notification(AComponent: TComponent; Operation: TOperation); override;
    procedure Reset(rve: TCustomRichViewEdit);
  public
    constructor Create(AOwner: TComponent); override;
    procedure ExecuteTarget(Target: TObject); override;
  published
    property ActionSave: TrvActionSave read FActionSave write SetActionSave;
    property OnNew: TNotifyEvent read FOnNew write FOnNew;
  end;

  TrvActionOpen = class(TrvActionNew)
  private
    FDialogTitle: string;
    FFilter: TrvFileOpenFilterSet;
    FLastFilterIndex: Integer;
    FInitialDir: String;
    FCustomFilter: String;
    FOnOpenFile: TRVOpenFileEvent;
  public
    procedure ExecuteTarget(Target: TObject); override;
    constructor Create(AOwner: TComponent); override;
    procedure LoadFile(rve: TCustomRichViewEdit; const FileName: String;
      FileFormat: TrvFileOpenFilter; CustomFilterIndex: Integer=0);
    property LastFilterIndex: Integer read FLastFilterIndex write FLastFilterIndex;      
  published
    property DialogTitle: String read FDialogTitle write FDialogTitle;
    property InitialDir: String read FInitialDir write FInitialDir;
    property Filter: TrvFileOpenFilterSet read FFilter write FFilter default [ffiRVF..ffiCustom];
    property CustomFilter: String read FCustomFilter write FCustomFilter;
    property OnOpenFile: TRVOpenFileEvent read FOnOpenFile write FOnOpenFile;
  end;

  TrvActionSaveAs = class;

  TrvActionSave = class(TrvAction)
  private
    FDocuments: TRVList;
    FActionSaveAs: TrvActionSaveAs;
    FOnDocumentFileChange: TRVFileChangeEvent;
    FLostFormatWarning: TrvFileSaveFilterSet;
    procedure SetActionSaveAs(const Value: TrvActionSaveAs);
    function GetActionSaveAs: TrvActionSaveAs;
  protected
    function AddDoc(rve: TCustomRichViewEdit; const FileName: String;
      FileFormat: TrvFileSaveFilter; CustomFilterIndex: Integer; Defined: Boolean;
      SaveFile, SuppressLFWarn, LFWarned: Boolean): Integer;
    procedure DeleteDoc(rve: TCustomRichViewEdit);
    function FindDoc(rve: TCustomRichViewEdit): Integer;
    function SaveDoc(Index: Integer; SuppressLFWarn: Boolean): Boolean;
    function SaveDocEx(rve: TCustomRichViewEdit): Boolean;
    procedure Notification(AComponent: TComponent; Operation: TOperation); override;
    procedure DoDocumentFileChange(Index: Integer);
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
    procedure ExecuteTarget(Target: TObject); override;
    function CanCloseDoc(rve: TCustomRichViewEdit): Boolean;
  published
    property ActionSaveAs: TrvActionSaveAs read FActionSaveAs write SetActionSaveAs;
    property OnDocumentFileChange: TRVFileChangeEvent read FOnDocumentFileChange write FOnDocumentFileChange;
    property LostFormatWarning: TrvFileSaveFilterSet read FLostFormatWarning write FLostFormatWarning
      default [ffeRTF, ffeTextANSI, ffeTextUnicode, ffeCustom];
  end;

  TrvActionCustomIO = class(TrvAction)
  private
    FDialogTitle: string;
    FLastFilterIndex: Integer;
    FFileName: String;
    FAutoUpdateFileName: Boolean;
  protected
    FInitialDir: String;
    property FileName: String read FFileName write FFileName;
    property AutoUpdateFileName: Boolean read FAutoUpdateFileName write FAutoUpdateFileName default True;
  public
    constructor Create(AOwner: TComponent); override;
  published
    property DialogTitle: string read FDialogTitle write FDialogTitle;
    property InitialDir: String read FInitialDir write FInitialDir;
  end;

  TrvActionCustomFileIO = class(TrvActionCustomIO)
  private
    FCustomFilter: String;
  protected
    property CustomFilter: String read FCustomFilter write FCustomFilter;
  end;

  TrvActionSaveAs = class(TrvActionCustomFileIO)
  private
    FActionSave: TrvActionSave;
    FFilter: TrvFileSaveFilterSet;
    procedure SetActionSave(const Value: TrvActionSave);
    function GetActionSave: TrvActionSave;
  protected
    procedure Notification(AComponent: TComponent; Operation: TOperation); override;
  public
    constructor Create(AOwner: TComponent); override;
    procedure ExecuteTarget(Target: TObject); override;
  published
    property Filter: TrvFileSaveFilterSet read FFilter write FFilter default [ffeRVF..ffeCustom];
    property ActionSave: TrvActionSave read FActionSave write SetActionSave;
    property CustomFilter;
  end;

  TrvActionExport = class(TrvActionCustomFileIO)
  private
    FFilter: TrvFileExportFilterSet;
    FFileTitle, FImagePrefix: String;
    FSaveOptions: TRVSaveOptions;
    FCreateDirectoryForHTMLImages: Boolean;
  public
    constructor Create(AOwner: TComponent); override;
    procedure ExecuteTarget(Target: TObject); override;
    function ExportToFile(Edit: TCustomRichViewEdit; const FileName: String;
      ExportFormat: TrvFileExportFilter; ConverterOrCustomIndex: Integer;
      rvc: TRVOfficeConverter): Boolean;
    property FileName;
  published
    property Filter: TrvFileExportFilterSet read FFilter write FFilter default [ffeRVF..ffeOfficeConverters];
    property FileTitle: String read FFileTitle write FFileTitle;
    property ImagePrefix: String read FImagePrefix write FImagePrefix;
    property SaveOptions: TRVSaveOptions read FSaveOptions write FSaveOptions;
    property CreateDirectoryForHTMLImages: Boolean read FCreateDirectoryForHTMLImages write FCreateDirectoryForHTMLImages default True;
    property AutoUpdateFileName;
    property CustomFilter;
  end;

{ ------------------ Printing ------------------------- }



  TrvCustomPrintAction = class(TrvAction)
  private
    FOldOnPagePrepaint: TRVPagePrepaintEvent;
  protected
    function FindRVPrint(Form: TComponent): TRVPrint;
    procedure InitRVPrint(Form: TComponent; var ARVPrint: TRVPrint;
      var ACreated: Boolean);
    procedure DoneRVPrint(ARVPrint: TRVPrint; ACreated: Boolean);
    procedure PagePrepaint(Sender: TRVPrint; PageNo: Integer; Canvas: TCanvas;
      Preview: Boolean; PageRect, PrintAreaRect: TRect);
  public
    procedure UpdateTarget(Target: TObject); override;
  end;

  TrvActionPrint = class;
  TrvActionPageSetup = class;

  TrvActionPrintPreview = class(TrvCustomPrintAction)
  private
    FActionPrint: TrvActionPrint;
    FMaximized: Boolean;
    FActionPageSetup: TrvActionPageSetup;
    FOnGetPreviewFormClass: TRVGetFormClassEvent;
    procedure SetActionPrint(const Value: TrvActionPrint);
    function GetActionPrint: TrvActionPrint;
    procedure SetActionPageSetup(const Value: TrvActionPageSetup);
    function GetPreviewFormClass: TFormClass;
  public
    constructor Create(AOwner: TComponent); override;
    procedure ExecuteTarget(Target: TObject); override;
  published
    property ActionPrint: TrvActionPrint read FActionPrint write SetActionPrint;
    property ActionPageSetup: TrvActionPageSetup read FActionPageSetup write SetActionPageSetup;
    property Maximized: Boolean read FMaximized write FMaximized default False;
    property OnGetPreviewFormClass: TRVGetFormClassEvent
      read FOnGetPreviewFormClass write FOnGetPreviewFormClass;
  end;

  TrvActionPrint = class(TrvCustomPrintAction)
  private
    FTitle: string;
  public
    constructor Create(AOwner: TComponent); override;
    procedure ExecuteTarget(Target: TObject); override;
  published
    property Title: string read FTitle write FTitle;
  end;

  TrvActionQuickPrint = class(TrvCustomPrintAction)
  private
    FTitle: string;
  public
    constructor Create(AOwner: TComponent); override;
    procedure ExecuteTarget(Target: TObject); override;
  published
    property Title: string read FTitle write FTitle;
  end;

  TrvActionPageSetup = class(TrvCustomAction)
  private
    FMarginsUnits: TrvPaperMarginsUnits;
    FOnChange: TNotifyEvent;
  public
    constructor Create(AOwner: TComponent); override;
    function HandlesTarget(Target: TObject): Boolean; override;
    procedure UpdateTarget(Target: TObject); override;
    procedure ExecuteTarget(Target: TObject); override;
  published
    property MarginsUnits: TrvPaperMarginsUnits read FMarginsUnits write FMarginsUnits default rvpmuMillimeters;
    property OnChange: TNotifyEvent read FOnChange write FOnChange;
  end;


  { ------------------ Find and Replace ------------------------- }

  {$IFDEF USERVTNT}
  TRVABasicFindDialog = TTntFindDialog;
  TRVABasicReplaceDialog = TTntReplaceDialog;
  {$ELSE}
  TRVABasicFindDialog = TFindDialog;
  TRVABasicReplaceDialog = TReplaceDialog;
  {$ENDIF}

  TrvActionReplace = class;

  TrvActionFind = class(TrvAction)
  private
    FEdit: TCustomRichViewEdit;
    FFindDialog: TRVABasicFindDialog;
    FActionReplace: TrvActionReplace;
    procedure FindDialogFind(Sender: TObject);

⌨️ 快捷键说明

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