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

  • 相关阅读:
    codeforces 505E Mr. Kitayuta vs. Bamboos 题解
    codeforces 568C New Language 题解
    [AGC020E] Encoding Subsets 题解
    技巧瞎扯
    [AGC028C] Min Cost Cycle 题解
    [AGC018D] Tree and Hamilton Path 题解
    codeforces 1217D Coloring Edges 题解
    [AGC003C] BBuBBBlesort! 题解
    [AGC037C] Numbers on a Circle 题解
    [USACO09Open] Tower of Hay 题解
  • 原文地址:https://www.cnblogs.com/del/p/1114334.html
Copyright © 2011-2022 走看看