📄 unit1.pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Menus;
type
TfrmMain = class(TForm)
MainMenu1: TMainMenu;
mnuFile: TMenuItem;
mnuNew: TMenuItem;
btnAddItem: TButton;
btnAddMenu: TButton;
procedure btnAddItemClick(Sender: TObject);
procedure btnAddMenuClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
procedure OnMenuClick(Sender:TObject);
public
{ Public declarations }
end;
var
frmMain: TfrmMain;
implementation
{$R *.dfm}
procedure TfrmMain.btnAddItemClick(Sender: TObject);
var
mnu:TMenuItem;
begin
mnu:=TMenuItem.Create(self.MainMenu1);
mnu.Caption:='打开';
mnu.Name:='mnuOpen';
//如果Name属性不设置,那么程序会自动分配
mnu.OnClick:=OnMenuClick;
mnu.AutoHotkeys:=maManual;
mnu.AutoLineReduction:=maManual;
self.mnuFile.Add(mnu);
end;
procedure TfrmMain.OnMenuClick(Sender:TObject);
begin
if (Sender as TMenuItem).Name='mnuOpen' then
begin
ShowMessage('打开');
end
else if (Sender as TMenuItem).Name='mnuEdit' then
begin
ShowMessage('编辑');
end
//在这里也可以通过菜单项的Caption属性来判断
//不过之前最好设置AutoHotkeys和AutoLineReduction为maManual
end;
procedure TfrmMain.btnAddMenuClick(Sender: TObject);
var
mnu:TMenuItem;
begin
mnu:=TMenuItem.Create(self);
mnu.Caption:='编辑';
mnu.Name:='mnuEdit';
//如果Name属性不设置,那么程序会自动分配
mnu.OnClick:=OnMenuClick;
mnu.AutoHotkeys:=maManual;
mnu.AutoLineReduction:=maManual;
self.MainMenu1.Items.Add(mnu);
end;
procedure TfrmMain.FormCreate(Sender: TObject);
begin
self.MainMenu1.AutoHotkeys:=maManual;
self.MainMenu1.AutoLineReduction:=maManual;
//通过设置这两个属性可以禁止程序自动为菜单生成热键,
//否则程序会自动在菜单的Caption属性中加入热键,
//并且会修改Caption属性的值,给通过Caption属性判断
//菜单项带来麻烦
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -