你说什么我都不知道,如果是作托盘我倒是会。用
 Shell_NotifyIcon(dwMessage:DWORD;LpData:TNotifyIconData);

解决方案 »

  1.   

    unit main;interface
    uses 
      Windows, Messages, SysUtils, Classes,Graphics, Controls, Forms,
      Dialogs,ShellAPI, StdCtrls;
    {自定义消息,当小图标捕捉到鼠标事件时Windows向回调函数发送此消息}
    const MY_MESSAGE = WM_USER+0;
    type
      TForm1 = class(TForm)
      procedure FormCreate(Sender: TObject);
      procedure FormClose(Sender: TObject; var Action: TCloseAction);
      private
      public
       { Public declarations }
    end;var
      Form1: TForm1;
    implementation{$R *.DFM}
    {当主Form建立时通知Windows加入小图标}
    procedure TForm1.FormCreate(Sender: TObject);
    var
      nid: TNotifyIconData;
    begin
      nid.cbSize := sizeof(nid); // nid变量的字节数
      nid.Wnd := Handle; // 主窗口句柄
      nid.uID := 1; // 内部标识,可设为任意数
      nid.hIcon := Application.Icon.Handle; // 要加入的图标句柄,可任意指?
      nid.szTip := '这是我的第一个托盘程序,不好别怪我哟!'; // 提示字符串
      nid.uCallbackMessage := MY_MESSAGE; // 回调函数消息
      nid.uFlags := NIF_ICON or NIF_TIP or NIF_MESSAGE; // 指明哪些字段有?
      Shell_NotifyIcon(NIM_ADD,@nid);
      {将程序的窗口样式设为TOOL窗口,可避免在任务条上出现}
      SetWindowLong(Application.Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
    end;{程序被关闭时通知Windows去掉小图标}
    procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
    var
      nid: TNotifyIconData;
    begin
      nid.cbSize := sizeof(nid); // nid变量的字节数
      nid.cbSize := sizeof(nid); // nid变量的字节数
      nid.uID := 1; //内部标识,与加入小图标时的数一致
      nid.Wnd := Handle; //主窗口句柄
      Shell_NotifyIcon(NIM_DELETE, @nid); //去掉小图标
    end;
     
    end
      

  2.   

    这样做出来的trayicon的提示(就是tooltip)是标准的,我现在是想提示为
    Balloon Tooltips
    看看
    MSDN中的Platform SDK Documentation --> User Interface Services --> Windows Common Controls --> Tooltip Controls --> Using Tooltip Controls.
    就知道了,里面有图片。