zoukankan      html  css  js  c++  java
  • 快捷键设置控件: THotKey [2] 自定义菜单快捷键

    运行效果图:


    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, ComCtrls;
    
    type
      TForm1 = class(TForm)
        HotKey1: THotKey;
        Button1: TButton;
        Button2: TButton;
        Button3: TButton;
        procedure FormCreate(Sender: TObject);
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
        procedure Button3Click(Sender: TObject);
      private
        procedure MsgMenu(Sender: TObject);
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    uses Menus; {本例无须在窗体上添加 TMainMenu; 是动态建立菜单的}
    
    var
      MyMenu: TMainMenu;
      Item: TMenuItem;
    
    {让各菜单调用的测试过程}
    procedure TForm1.MsgMenu(Sender: TObject);
    begin
      if Sender is TMenuItem then
        ShowMessage(TMenuItem(Sender).Caption);
    end;
    
    {动态建立菜单}
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      MyMenu := TMainMenu.Create(Self);
      Self.Menu := MyMenu;
    
      Item := TMenuItem.Create(MyMenu);
      Item.Caption := 'TestMenu';
      MyMenu.Items.Add(Item);
    
    
      Item := TMenuItem.Create(MyMenu);
      Item.Caption := 'Menu-1';
      Item.OnClick := MsgMenu;
      MyMenu.Items[0].Add(Item);
    
      Item := TMenuItem.Create(MyMenu);
      Item.Caption := 'Menu-2';
      Item.OnClick := MsgMenu;
      MyMenu.Items[0].Add(Item);
    
      Item := TMenuItem.Create(MyMenu);
      Item.Caption := 'Menu-3';
      Item.OnClick := MsgMenu;
      MyMenu.Items[0].Add(Item);
    
      Button1.Caption := '设置给第一个子菜单';
      Button2.Caption := '设置给第二个子菜单';
      Button3.Caption := '设置给第三个子菜单';
    end;
    
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      Self.Menu.Items[0][0].ShortCut := HotKey1.HotKey;
    end;
    
    procedure TForm1.Button2Click(Sender: TObject);
    begin
      Self.Menu.Items[0][1].ShortCut := HotKey1.HotKey;
    end;
    
    procedure TForm1.Button3Click(Sender: TObject);
    begin
      Self.Menu.Items[0][2].ShortCut := HotKey1.HotKey;
    end;
    
    end.
    
    关于动态建立菜单的相关内容在这: http://www.cnblogs.com/del/category/122010.html

  • 相关阅读:
    Android,资料分享(2015 版)
    Http请求与响应
    SpringMVC + Spring 3.2.14 + Hibernate 3.6.10 集成详解
    ORA-14402: 更新分区关键字列将导致分区的更改
    Android Service的生命周期
    Android Service基础
    Android Intent 基本使用及对象构成
    Sublime Text3 个人使用心得
    深入了解line-height
    overflow之锚点技术实现选项卡
  • 原文地址:https://www.cnblogs.com/del/p/1114334.html
Copyright © 2011-2022 走看看