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

Delphi控件源码

开发平台:

Delphi

  1. unit SysForm;
  2. interface
  3. uses
  4.   SysUtils, Windows, Messages, Classes, Graphics, Controls, Forms, Dialogs,
  5.   Menus, StdCtrls;
  6. type
  7.   TForm1 = class(TForm)
  8.     Button1: TButton;
  9.     MainMenu1: TMainMenu;
  10.     File1: TMenuItem;
  11.     Exit1: TMenuItem;
  12.     Edit1: TMenuItem;
  13.     Undo1: TMenuItem;
  14.     N1: TMenuItem;
  15.     Cut1: TMenuItem;
  16.     Copy1: TMenuItem;
  17.     Paste1: TMenuItem;
  18.     Help1: TMenuItem;
  19.     About1: TMenuItem;
  20.     New1: TMenuItem;
  21.     Open1: TMenuItem;
  22.     N2: TMenuItem;
  23.     procedure FormCreate(Sender: TObject);
  24.     procedure Button1Click(Sender: TObject);
  25.     procedure New1Click(Sender: TObject);
  26.     procedure Open1Click(Sender: TObject);
  27.     procedure Exit1Click(Sender: TObject);
  28.     procedure Undo1Click(Sender: TObject);
  29.     procedure Cut1Click(Sender: TObject);
  30.     procedure Copy1Click(Sender: TObject);
  31.     procedure Paste1Click(Sender: TObject);
  32.     procedure About1Click(Sender: TObject);
  33.   private
  34.     { Private declarations }
  35.   public
  36.     procedure WMSysCommand (var Msg: TWMSysCommand);
  37.       message wm_SysCommand;
  38.   end;
  39. var
  40.   Form1: TForm1;
  41. implementation
  42. {$R *.DFM}
  43. const
  44.   idSysAbout = 100;
  45. procedure TForm1.FormCreate(Sender: TObject);
  46. begin
  47.   // add a separator and a menu item to the system menu
  48.   AppendMenu (GetSystemMenu (Handle, FALSE),
  49.     MF_SEPARATOR, 0, '');
  50.   AppendMenu (GetSystemMenu (Handle, FALSE),
  51.     MF_STRING, idSysAbout, '&About...');
  52. end;
  53. procedure TForm1.WMSysCommand (var Msg: TWMSysCommand);
  54. var
  55.   Item: TMenuItem;
  56. begin
  57.   // handle a specific command
  58.   if Msg.CmdType = idSysAbout then
  59.     ShowMessage ('Mastering Delphi: SysMenu example');
  60.   // activate standard menu handling code
  61.   Item := MainMenu1.FindItem (Msg.CmdType, fkCommand);
  62.   if Item <> nil then
  63.     Item.Click;
  64.   // default system menu commands
  65.   inherited;
  66. end;
  67. procedure TForm1.Button1Click(Sender: TObject);
  68. var
  69.   I: Integer;
  70. begin
  71.   // add a separator
  72.   AppendMenu (GetSystemMenu (Handle, FALSE), MF_SEPARATOR, 0, '');
  73.   // add the main menu to the system menu
  74.   with MainMenu1 do
  75.     for I := 0 to Items.Count - 1 do
  76.       AppendMenu (GetSystemMenu (Self.Handle, FALSE),
  77.         mf_Popup, Items[I].Handle, PChar (Items[I].Caption));
  78.   // disable the button
  79.   Button1.Enabled := False;
  80. end;
  81. procedure TForm1.New1Click(Sender: TObject);
  82. begin
  83.   ShowMessage ('File New menu command');
  84. end;
  85. procedure TForm1.Open1Click(Sender: TObject);
  86. begin
  87.   ShowMessage ('File Open menu command');
  88. end;
  89. procedure TForm1.Exit1Click(Sender: TObject);
  90. begin
  91.   Close;
  92. end;
  93. procedure TForm1.Undo1Click(Sender: TObject);
  94. begin
  95.   ShowMessage ('Edit Undo menu command');
  96. end;
  97. procedure TForm1.Cut1Click(Sender: TObject);
  98. begin
  99.   ShowMessage ('Edit Cut menu command');
  100. end;
  101. procedure TForm1.Copy1Click(Sender: TObject);
  102. begin
  103.   ShowMessage ('Edit Copy menu command');
  104. end;
  105. procedure TForm1.Paste1Click(Sender: TObject);
  106. begin
  107.   ShowMessage ('Edit Paste menu command');
  108. end;
  109. procedure TForm1.About1Click(Sender: TObject);
  110. begin
  111.     ShowMessage ('Mastering Delphi: SysMenu example');
  112. end;
  113. end.