OptionsFrm.pas
上传用户:daoqigc
上传日期:2021-04-20
资源大小:2795k
文件大小:5k
源码类别:

RichEdit

开发平台:

Delphi

  1. unit OptionsFrm;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
  5.   Dialogs, StdCtrls, ComCtrls, RVStyle;
  6. type
  7.   TfrmOptions = class(TForm)
  8.     btnOk: TButton;
  9.     btnCancel: TButton;
  10.     PageControl1: TPageControl;
  11.     TabSheet1: TTabSheet;
  12.     TabSheet2: TTabSheet;
  13.     GroupBox1: TGroupBox;
  14.     cbRVFSaveBackground: TCheckBox;
  15.     cbRVFSaveLayout: TCheckBox;
  16.     cbRVFBinary: TCheckBox;
  17.     cbRVFSavePictures: TCheckBox;
  18.     cbRVFSaveControls: TCheckBox;
  19.     GroupBox2: TGroupBox;
  20.     cbRVFLoadBackground: TCheckBox;
  21.     cbRVFLoadLayout: TCheckBox;
  22.     cbRVFIgnoreUnknownPictures: TCheckBox;
  23.     cbRVFIgnoreUnknownControls: TCheckBox;
  24.     cbRVFInvStyles: TCheckBox;
  25.     cbRVFInvImageIndices: TCheckBox;
  26.     TabSheet3: TTabSheet;
  27.     GroupBox3: TGroupBox;
  28.     cbHTMLOverrideImages: TCheckBox;
  29.     cbHTMLListAsTest: TCheckBox;
  30.     cbHTMLForceNonTextCSS: TCheckBox;
  31.     cbHTMLDefault0Style: TCheckBox;
  32.     cbHTMLSaveImageSizes: TCheckBox;
  33.     cbHTMLNoHypertextImageBorders: TCheckBox;
  34.     cbHTMLUseCheckpointsNames: TCheckBox;
  35.     txtHTMLTitle: TEdit;
  36.     Label1: TLabel;
  37.     cbRVFSaveTextStyles: TCheckBox;
  38.     cbRVFSaveParaStyles: TCheckBox;
  39.   private
  40.     { Private declarations }
  41.   public
  42.     { Public declarations }
  43.     procedure SetOptions(RVFOptions: TRVFOptions; HTMLOptions: TRVSaveOptions;
  44.       const HTMLTitle: String);
  45.     procedure GetOptions(var RVFOptions: TRVFOptions; var HTMLOptions: TRVSaveOptions;
  46.       var HTMLTitle: String);
  47.   end;
  48. var
  49.   frmOptions: TfrmOptions;
  50. implementation
  51. {$R *.dfm}
  52. { TfrmOptions }
  53. procedure TfrmOptions.GetOptions(var RVFOptions: TRVFOptions;
  54.   var HTMLOptions: TRVSaveOptions; var HTMLTitle: String);
  55.   {..........................................................}
  56.   procedure SetRVFOption(Value: Boolean; Option: TRVFOption);
  57.   begin
  58.     if Value then
  59.       RVFOptions := RVFOptions + [Option]
  60.     else
  61.       RVFOptions := RVFOptions - [Option];
  62.   end;
  63.   {..........................................................}
  64.   procedure SetHTMLOption(Value: Boolean; Option: TRVSaveOption);
  65.   begin
  66.     if Value then
  67.       HTMLOptions := HTMLOptions + [Option]
  68.     else
  69.       HTMLOptions := HTMLOptions - [Option];
  70.   end;
  71.   {..........................................................}
  72. begin
  73.   RVFOptions := [];
  74.   HTMLOptions := [];
  75.   SetRVFOption(cbRVFSaveBackground.Checked, rvfoSaveBack);
  76.   SetRVFOption(cbRVFSaveLayout.Checked,     rvfoSaveLayout);
  77.   SetRVFOption(cbRVFBinary.Checked,         rvfoSaveBinary);
  78.   SetRVFOption(cbRVFSavePictures.Checked,   rvfoSavePicturesBody);
  79.   SetRVFOption(cbRVFSaveControls.Checked,   rvfoSaveControlsBody);
  80.   SetRVFOption(cbRVFLoadBackground.Checked, rvfoLoadBack);
  81.   SetRVFOption(cbRVFLoadLayout.Checked,     rvfoLoadLayout);
  82.   SetRVFOption(cbRVFIgnoreUnknownPictures.Checked , rvfoIgnoreUnknownPicFmt);
  83.   SetRVFOption(cbRVFIgnoreUnknownControls.Checked , rvfoIgnoreUnknownCtrls);
  84.   SetRVFOption(cbRVFInvStyles.Checked,              rvfoConvUnknownStylesToZero);
  85.   SetRVFOption(cbRVFInvImageIndices.Checked,        rvfoConvLargeImageIdxToZero);
  86.   SetRVFOption(cbRVFSaveTextStyles.Checked,  rvfoSaveTextStyles);
  87.   SetRVFOption(cbRVFSaveParaStyles.Checked,  rvfoSaveParaStyles);
  88.   SetHTMLOption(cbHTMLOverrideImages.Checked, rvsoOverrideImages);
  89.   SetHTMLOption(cbHTMLListAsTest.Checked, rvsoMarkersAsText);
  90.   SetHTMLOption(cbHTMLForceNonTextCSS.Checked, rvsoForceNonTextCSS);
  91.   SetHTMLOption(cbHTMLDefault0Style.Checked, rvsoDefault0Style);
  92.   SetHTMLOption(cbHTMLSaveImageSizes.Checked, rvsoImageSizes);
  93.   SetHTMLOption(cbHTMLNoHypertextImageBorders.Checked, rvsoNoHypertextImageBorders);
  94.   SetHTMLOption(cbHTMLUseCheckpointsNames.Checked, rvsoUseCheckpointsNames);
  95.   HTMLTitle := txtHTMLTitle.Text;
  96. end;
  97. {------------------------------------------------------------------------------}
  98. procedure TfrmOptions.SetOptions(RVFOptions: TRVFOptions;
  99.   HTMLOptions: TRVSaveOptions; const HTMLTitle: String);
  100. begin
  101.   cbRVFSaveBackground.Checked := rvfoSaveBack         in RVFOptions;
  102.   cbRVFSaveLayout.Checked     := rvfoSaveLayout       in RVFOptions;
  103.   cbRVFBinary.Checked         := rvfoSaveBinary       in RVFOptions;
  104.   cbRVFSavePictures.Checked   := rvfoSavePicturesBody in RVFOptions;
  105.   cbRVFSaveControls.Checked   := rvfoSaveControlsBody in RVFOptions;
  106.   cbRVFLoadBackground.Checked := rvfoLoadBack         in RVFOptions;
  107.   cbRVFLoadLayout.Checked     := rvfoLoadLayout       in RVFOptions;
  108.   cbRVFIgnoreUnknownPictures.Checked := rvfoIgnoreUnknownPicFmt in RVFOptions;
  109.   cbRVFIgnoreUnknownControls.Checked := rvfoIgnoreUnknownCtrls  in RVFOptions;
  110.   cbRVFInvStyles.Checked      := rvfoConvUnknownStylesToZero    in RVFOptions;
  111.   cbRVFInvImageIndices.Checked := rvfoConvLargeImageIdxToZero   in RVFOptions;
  112.   cbRVFSaveTextStyles.Checked := rvfoSaveTextStyles   in RVFOptions;
  113.   cbRVFSaveParaStyles.Checked := rvfoSaveParaStyles   in RVFOptions;
  114.   cbHTMLOverrideImages.Checked := rvsoOverrideImages   in HTMLOptions;
  115.   cbHTMLListAsTest.Checked     := rvsoMarkersAsText    in HTMLOptions;
  116.   cbHTMLForceNonTextCSS.Checked := rvsoForceNonTextCSS in HTMLOptions;
  117.   cbHTMLDefault0Style.Checked  := rvsoDefault0Style    in HTMLOptions;
  118.   cbHTMLSaveImageSizes.Checked := rvsoImageSizes       in HTMLOptions;
  119.   cbHTMLNoHypertextImageBorders.Checked := rvsoNoHypertextImageBorders in HTMLOptions;
  120.   cbHTMLUseCheckpointsNames.Checked := rvsoUseCheckpointsNames in HTMLOptions;
  121.   txtHTMLTitle.Text := HTMLTitle;
  122. end;
  123. end.