您好,请问怎样使程序已启动就加入托盘? 谢谢(50分)

  • 主题发起人 主题发起人 wjlsnet
  • 开始时间 开始时间
W

wjlsnet

Unregistered / Unconfirmed
GUEST, unregistred user!
您好,请问怎样使程序已启动就加入托盘? 谢谢
 
你下载一个trayicq控件就可以了。

在abc组件包里有这东东, 如果可以你自己写一个 
 
可以去看看下面的控件

CoolTrayIcon v3.0.0

自动将Form缩小为TrayIcon,可设置MinimizeToTrayIcon为True,则Form最小化时不显示在任务栏上。
个人认为较RxLib中的RxTrayIcon好用,而且还有源代码哦!

新增加了些属性和方法,如BitMapToIcon方法可以将位图转换为Icon使用。此外,还添加了一个新控件
TextTrayIcon,它直接将文字作为Tray Icon,可以设置字体、颜色等,和Timer结合起来你就可以实现动态文字的TrayIcon了,这还是满酷的嘛:-)

完整功能. 源代码: 有
适用于 CB3 CB4 CB5 D2 D3 D4 D5 D6

设置几个属性就可以了
有例子程序
 
http://www.playicq.com/dispdoc.php?t=&id=257
 
可以自己写吗? 用API函数
 
我刚写了一个
 
const WM_MYTRAYICONCALLBACK = WM_USER+1966;

type
TMainForm = class(TForm)
PopupMenu1: TPopupMenu;
N1111: TMenuItem;
N2221: TMenuItem;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
MyTrayIcon : TNotifyIconData;
procedure WMMyTrayIconCallBack(var Msg : TMessage);
Message WM_MYTRAYICONCALLBACK;
public
{ Public declarations }
end;

var
MainForm: TMainForm;

implementation

{$R *.dfm}

procedure TMainForm.FormCreate(Sender: TObject);
begin
MyTrayIcon.cbSize := SizeOf(TNotifyIconData);
MyTrayIcon.Wnd := Handle;
MyTrayIcon.uID :=1;
MyTrayIcon.uFlags := NIF_ICON or NIF_TIP or NIF_MESSAGE;
MyTrayIcon.uCallBackMessage := WM_MYTRAYICONCALLBACK;
MyTrayIcon.hIcon := Icon.Handle;//使用了主窗口的图标
MyTrayIcon.szTip := '鼠标放上去的提示';
Shell_NotifyIcon(NIM_ADD,@MyTrayIcon);
end;

procedure TMainForm.WMMyTrayIconCallBack(var Msg: TMessage);
begin
case Msg.LParam of
WM_RBUTTONDOWN:
//在小图标上点右键了,你准备干什么;

WM_LBUTTONDOWN:
//在小图标上点左键了,你准备干什么
WM_MBUTTONDOWN:
//在小图标上点中键了,你准备干什么
end;
end;

procedure TMainForm.FormDestroy(Sender: TObject);
begin
Shell_NotifyIcon(NIM_DELETE,@MyTrayIcon);
end;
 
都已正确解答了怎么还不结束?
 
多人接受答案了。
 
后退
顶部