多谢!我应该怎样来触发呢?
与uCallbackMessage有关吗?举个例子好吗?

解决方案 »

  1.   

    另外的,你用Application.onminimize来处理试试。
      

  2.   

    delphi的消息处理我还不太熟悉,给你bcb的:
    protected:
    virtual void __fastcall WndProc(Messages::TMessage &Message);void __fastcall TForm1::Wndproc(Messages::TMessage &Message)
    {
      if(Message.LParam==WM_LBUTTONDOWN)
       {
         //todo
        }
    }
      

  3.   

    非常感谢你,我其实想问API Shell_NotifyIcon中TNotifyIconData.uCallbackMessage怎么用
    你重载的消息能与小图标关联吗?我的怎么只触发窗口的?
      

  4.   

    NOTIFYICONDATA你在这个结构中要指定一个hWnd;CallbackMessage; 
    这两个就是当托盘图标有消息时,系统讲托盘消息发给hwnd,而且消息名为ucallbackmessage
    指定的消息。
    const CallbackMsg=wm_user+$1000;
    uCallBackMessage:=CallBackMSg
    hwnd:=Applicaton.handle;
    然后用shell_notifyicon讲这个结构体,add给系统。
    然后在你的程序中
    procedure HandleMsg(var Msg:TMessage);message CallBackMsg;
    implemention
    上面时声明,你自己在补充具体代码
      

  5.   

    比如说我添加了一个托盘图标,我要响应它的单击事件:
    Procedure TrayMsg (Var Msg:TMessage); message WM_SYSCOMMAND;
    procedure TForm1.TrayMsg(var Msg: TMessage);
    begin
      IF Msg.LParam=WM_LBUTTONDOWN then ShowMessage('sdaf');
      inherited;
    end;
    这样不行,我在填TNotifyIconData的时候应该怎样填uCallbackMessage项呢?
      

  6.   

    在formCreate的时候:
    iconmessage=RegisterWindowMessage("IconNotify");
    NOTIFYICONDATA icondata;icondata.uCallbackMessage=iconmessage;
    其它的你自己设置了。
      

  7.   

    用Application.onminimize不行???