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

Delphi控件源码

开发平台:

Delphi

  1. unit ActionsF;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  5.   StdActns, ActnList, ExtCtrls, StdCtrls, Menus, ImgList, Buttons,
  6.   ComCtrls, ToolWin;
  7. type
  8.   TForm1 = class(TForm)
  9.     Memo1: TMemo;
  10.     ActionList1: TActionList;
  11.     ActionCopy: TEditCopy;
  12.     ActionCut: TEditCut;
  13.     ActionPaste: TEditPaste;
  14.     ActionNew: TAction;
  15.     ActionExit: TAction;
  16.     NoAction: TAction;
  17.     ActionCount: TAction;
  18.     ActionBold: TAction;
  19.     MainMenu1: TMainMenu;
  20.     Edit1: TMenuItem;
  21.     Paste2: TMenuItem;
  22.     Copy2: TMenuItem;
  23.     Cut2: TMenuItem;
  24.     File1: TMenuItem;
  25.     New1: TMenuItem;
  26.     Close1: TMenuItem;
  27.     Test1: TMenuItem;
  28.     N1: TMenuItem;
  29.     Bold1: TMenuItem;
  30.     NoAction1: TMenuItem;
  31.     CharCount1: TMenuItem;
  32.     ImageList1: TImageList;
  33.     ActionEnable: TAction;
  34.     EnableNoAction1: TMenuItem;
  35.     ActionSender: TAction;
  36.     TestSender: TMenuItem;
  37.     ToolBar1: TToolBar;
  38.     ToolButton1: TToolButton;
  39.     ToolButton3: TToolButton;
  40.     ToolButton4: TToolButton;
  41.     ToolButton5: TToolButton;
  42.     ToolButton6: TToolButton;
  43.     ToolButton7: TToolButton;
  44.     ToolButton8: TToolButton;
  45.     ToolButton9: TToolButton;
  46.     ToolButton10: TToolButton;
  47.     ToolButton2: TToolButton;
  48.     procedure ActionNewExecute(Sender: TObject);
  49.     procedure ActionExitExecute(Sender: TObject);
  50.     procedure ActionBoldExecute(Sender: TObject);
  51.     procedure ActionCountUpdate(Sender: TObject);
  52.     procedure ActionCountExecute(Sender: TObject);
  53.     procedure ActionEnableExecute(Sender: TObject);
  54.     procedure ActionSenderExecute(Sender: TObject);
  55.   private
  56.     { Private declarations }
  57.   public
  58.     { Public declarations }
  59.   end;
  60. var
  61.   Form1: TForm1;
  62. implementation
  63. {$R *.DFM}
  64. procedure TForm1.ActionNewExecute(Sender: TObject);
  65. begin
  66.   Memo1.Lines.Clear;
  67. end;
  68. procedure TForm1.ActionExitExecute(Sender: TObject);
  69. begin
  70.   Close;
  71. end;
  72. procedure TForm1.ActionBoldExecute(Sender: TObject);
  73. begin
  74.   with Memo1.Font do
  75.     if fsBold in Style then
  76.       Style := Style - [fsBold]
  77.     else
  78.       Style := Style + [fsBold];
  79.   // toggle status
  80.   ActionBold.Checked := not ActionBold.Checked;
  81. end;
  82. procedure TForm1.ActionCountUpdate(Sender: TObject);
  83. begin
  84.   ActionCount.Enabled := Memo1.Empty Text <> '';
  85. end;
  86. procedure TForm1.ActionCountExecute(Sender: TObject);
  87. begin
  88.   ShowMessage ('Characters: ' + IntToStr (
  89.     Length (Memo1.Text)));
  90. end;
  91. procedure TForm1.ActionEnableExecute(Sender: TObject);
  92. begin
  93.   NoAction.DisableIfNoHandler := False;
  94.   NoAction.Enabled := True;
  95.   ActionEnable.Enabled := False;
  96. end;
  97. procedure TForm1.ActionSenderExecute(Sender: TObject);
  98. begin
  99.   Memo1.Lines.Add (
  100.     'Sender class: ' + Sender.ClassName);
  101.   Memo1.Lines.Add (
  102.     'Sender name: ' + (Sender as TComponent).Name);
  103.   Memo1.Lines.Add (
  104.     'Category: ' + (Sender as TAction).Category);
  105.   Memo1.Lines.Add (
  106.     'Action list name: ' + (Sender as TAction).ActionList.Name );
  107. end;
  108. end.