我用了TrayIcon控件把界面隐藏到托盘里,怎样用一快捷键显示界面,比如用Ctrl+Alt+1显示/隐藏界面.

解决方案 »

  1.   

    给你写了一个,你试试:
    unit UHotKey;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs,MMSystem;type
      TForm1 = class(TForm)
        procedure FormCreate(Sender: TObject);
        procedure FormDestroy(Sender: TObject);
      private
        { Private declarations }
        //处理 WM_HOTKEY 事件
        procedure WmHotKey(var msg:TMessage); message WM_HOTKEY;
      public
        { Public declarations }
      end;var
      Form1: TForm1;const
      ALT_CTRL_L  :Integer =$0002;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
    begin
      //使用前必须先注册热键
      if not RegisterHotKey(Self.Handle,ALT_CTRL_L,MOD_ALT or MOD_CONTROL,$4c) then
      MessageDlg('注册热键失败',mtError,[mbOk],0);
    end;procedure TForm1.FormDestroy(Sender: TObject);
    begin
      //退出时撤销已经注册的热键
      if not UnRegisterHotKey(Self.Handle,ALT_CTRL_L) then
      MessageDlg('撤销热键失败',mtError,[mbOk],0);
    end;procedure TForm1.WmHotKey(var msg: TMessage);
    begin
      if msg.WParam = ALT_CTRL_L then showmessage('asdf');
    end;end.
      

  2.   

    如果你的程序用到了MainMenu控件的话,最简单的方法就是在上面添加一个按钮,Caption任意,ShortCut设置成Ctrl+Alt+L,然后Visible设为false隐藏,在按钮的单击事件里写隐藏/显示窗体代码
      

  3.   

    如果你的程序用到了MainMenu控件的话,最简单的方法就是在上面添加一个按钮,Caption任意,ShortCut设置成Ctrl+Alt+L,然后Visible设为false隐藏,在按钮的单击事件里写隐藏/显示窗体代码