CdlgTest.pas
上传用户:fh681027
上传日期:2022-07-23
资源大小:1959k
文件大小:8k
源码类别:

Delphi控件源码

开发平台:

Delphi

  1. unit Cdlgtest;
  2. interface
  3. uses
  4.   Windows, Classes, Graphics, Forms, Controls,
  5.   Menus, StdCtrls, Dialogs;
  6. type
  7.   TCommDlgForm = class(TForm)
  8.     OpenDialog1: TOpenDialog;
  9.     SaveDialog1: TSaveDialog;
  10.     FontDialog1: TFontDialog;
  11.     ColorDialog1: TColorDialog;
  12.     MainMenu1: TMainMenu;
  13.     Memo1: TMemo;
  14.     Open1: TMenuItem;
  15.     TextFiles1: TMenuItem;
  16.     Anynewfile1: TMenuItem;
  17.     MultipleSelection1: TMenuItem;
  18.     Save1: TMenuItem;
  19.     TextFile1: TMenuItem;
  20.     AnyFile1: TMenuItem;
  21.     Font1: TMenuItem;
  22.     OnlyTrueType1: TMenuItem;
  23.     NoEffects1: TMenuItem;
  24.     NoStyle1: TMenuItem;
  25.     Apply1: TMenuItem;
  26.     Color1: TMenuItem;
  27.     Standard1: TMenuItem;
  28.     FullOpen1: TMenuItem;
  29.     NoFullOpen1: TMenuItem;
  30.     Help1: TMenuItem;
  31.     AboutCommonDialogsTest1: TMenuItem;
  32.     PrinterSetupDialog1: TPrinterSetupDialog;
  33.     FindDialog1: TFindDialog;
  34.     ReplaceDialog1: TReplaceDialog;
  35.     Print1: TMenuItem;
  36.     Print2: TMenuItem;
  37.     PrinterSetup1: TMenuItem;
  38.     Search1: TMenuItem;
  39.     Search2: TMenuItem;
  40.     Replace1: TMenuItem;
  41.     PrintDialog1: TPrintDialog;
  42.     procedure TextFiles1Click(Sender: TObject);
  43.     procedure Anynewfile1Click(Sender: TObject);
  44.     procedure MultipleSelection1Click(Sender: TObject);
  45.     procedure TextFile1Click(Sender: TObject);
  46.     procedure AnyFile1Click(Sender: TObject);
  47.     procedure OnlyTrueType1Click(Sender: TObject);
  48.     procedure NoEffects1Click(Sender: TObject);
  49.     procedure NoStyle1Click(Sender: TObject);
  50.     procedure Apply1Click(Sender: TObject);
  51.     procedure Standard1Click(Sender: TObject);
  52.     procedure FullOpen1Click(Sender: TObject);
  53.     procedure NoFullOpen1Click(Sender: TObject);
  54.     procedure AboutCommonDialogsTest1Click(Sender: TObject);
  55.     procedure Print2Click(Sender: TObject);
  56.     procedure PrinterSetup1Click(Sender: TObject);
  57.     procedure Search2Click(Sender: TObject);
  58.     procedure Replace1Click(Sender: TObject);
  59.     procedure FindDialog1Find(Sender: TObject);
  60.     procedure ReplaceDialog1Replace(Sender: TObject);
  61.     procedure ReplaceDialog1Find(Sender: TObject);
  62.     procedure FontDialogApply(Sender: TObject; Wnd: HWND);
  63.   private
  64.     { Private declarations }
  65.   public
  66.     { Public declarations }
  67.   end;
  68. var
  69.   CommDlgForm: TCommDlgForm;
  70. implementation
  71. {$R *.DFM}
  72. procedure TCommDlgForm.TextFiles1Click(Sender: TObject);
  73. begin
  74.   with OpenDialog1 do
  75.   begin
  76.     Filter := 'Text File (*.txt)|*.txt';
  77.     DefaultExt := 'txt';
  78.     Filename := '';
  79.     Options := [ofHideReadOnly, ofFileMustExist,
  80.       ofPathMustExist];
  81.     if Execute then
  82.       if ofExtensionDifferent in Options then
  83.         MessageDlg ('Not a file with the .TXT extension',
  84.           mtError, [mbOK], 0)
  85.       else
  86.         Memo1.Lines.LoadFromFile (FileName);
  87.   end;
  88. end;
  89. procedure TCommDlgForm.Anynewfile1Click(Sender: TObject);
  90. begin
  91.   with OpenDialog1 do
  92.   begin
  93.     Filter := 'Any File (*.*)|*.*';
  94.     FileName := '';
  95.     Options := [];
  96.     if Execute then
  97.       Memo1.Lines.LoadFromFile (FileName);
  98.   end;
  99. end;
  100. procedure TCommDlgForm.MultipleSelection1Click(Sender: TObject);
  101. var
  102.   i: Integer;
  103. begin
  104.   with OpenDialog1 do
  105.   begin
  106.     Filter := 'Text File (*.txt)|*.txt|Any File (*.*)|*.*';
  107.     Filename := '';
  108.     Options := [ofAllowMultiSelect, ofPathMustExist, ofCreatePrompt];
  109.     if Execute then
  110.       for i := 0 to Files.Count - 1 do
  111.         if MessageDlg ('Open file ' + Files.Strings [i] + '?',
  112.             mtConfirmation, [mbYes, mbNo], 0) = IDYES then
  113.           Memo1.Lines.LoadFromFile (Files.Strings [i]);
  114.     end;
  115. end;
  116. procedure TCommDlgForm.TextFile1Click(Sender: TObject);
  117. begin
  118.   with SaveDialog1 do
  119.   begin
  120.     Filter := 'Text File (*.txt)|*.txt';
  121.     DefaultExt := 'txt';
  122.     Filename := '';
  123.     Options := [ofHideReadOnly, ofPathMustExist];
  124.     if Execute then
  125.       if ofExtensionDifferent in Options then
  126.         MessageDlg ('Not a txt extension', mtError, [mbOK], 0)
  127.       else
  128.         Memo1.Lines.SaveToFile (FileName);
  129.   end;
  130. end;
  131. procedure TCommDlgForm.AnyFile1Click(Sender: TObject);
  132. begin
  133.   with SaveDialog1 do
  134.   begin
  135.     Filter := 'Any File (*.*)|*.*';
  136.     Filename := '';
  137.     Options := [ofPathMustExist];
  138.     if Execute then
  139.       Memo1.Lines.SaveToFile (FileName);
  140.   end;
  141. end;
  142. procedure TCommDlgForm.OnlyTrueType1Click(Sender: TObject);
  143. begin
  144.   with FontDialog1 do
  145.   begin
  146.     Options := [fdEffects, fdTrueTypeOnly, fdForceFontExist];
  147.     if Execute then
  148.       Memo1.Font := Font;
  149.   end;
  150. end;
  151. procedure TCommDlgForm.NoEffects1Click(Sender: TObject);
  152. begin
  153.   with FontDialog1 do
  154.   begin
  155.     Options := [fdForceFontExist];
  156.     if Execute then
  157.       Memo1.Font := Font;
  158.   end;
  159. end;
  160. procedure TCommDlgForm.NoStyle1Click(Sender: TObject);
  161. begin
  162.   with FontDialog1 do
  163.   begin
  164.     Options := [fdEffects, fdNoOEMFonts, fdNoStyleSel,
  165.         fdNoSizeSel, fdForceFontExist];
  166.     if Execute then
  167.       Memo1.Font := Font;
  168.   end;
  169. end;
  170. procedure TCommDlgForm.Apply1Click(Sender: TObject);
  171. begin
  172.   with FontDialog1 do
  173.   begin
  174.     OnApply := FontDialogApply;
  175.     Options := [fdEffects, fdForceFontExist];
  176.     Execute;
  177.     OnApply := nil;
  178.   end;
  179. end;
  180. procedure TCommDlgForm.Standard1Click(Sender: TObject);
  181. begin
  182.   with ColorDialog1 do
  183.   begin
  184.     Options := [];
  185.     if Execute then
  186.       Memo1.Color := Color;
  187.   end;
  188. end;
  189. procedure TCommDlgForm.FullOpen1Click(Sender: TObject);
  190. begin
  191.   with ColorDialog1 do
  192.   begin
  193.     Options := [cdFullOpen];
  194.     if Execute then
  195.       Memo1.Color := Color;
  196.   end;
  197. end;
  198. procedure TCommDlgForm.NoFullOpen1Click(Sender: TObject);
  199. begin
  200.   with ColorDialog1 do
  201.   begin
  202.     Options := [cdPreventFullOpen];
  203.     if Execute then
  204.       Memo1.Color := Color;
  205.   end;
  206. end;
  207. procedure TCommDlgForm.AboutCommonDialogsTest1Click(Sender: TObject);
  208. begin
  209.   MessageDlg ('The ''Common Dialogs Test'' application has been written' +
  210.     Chr(13) + 'for the book "Mastering Delphi" by Marco Cant