第一个问题:
可以自己完成,不需要其他的控件。
下面是操作任务栏小图标的一些代码(可以添加、删除)。不只你是否用得着。
主要函数:Shell_NotifyIcon(),你可以参考MSDN。
uses shellapi;
const
wm_mycallback = wm_user+500;
public
procedure onnotifyicon(var nmsg:Tmessage);message wm_mycallback;
var
my_icon
NOTIFYICONDATA;
procedure Tform1.onnotifyicon (var nmsg:tmessage);
var pos:Tpoint;
begin
case nmsg.LParam of
wm_lbuttondown:
form1.Visible :=not form1.Visible ;
wm_rbuttondown:
begin
getcursorpos(pos);
popupmenu1.Popup (pos.x,pos.y);
end;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
new(my_icon);
my_icon^.Wnd :=form1.Handle ;
my_icon^.uID :=0;
my_icon^.uFlags :=NIF_ICON+NIF_MESSAGE+NIF_TIP;
my_icon^.hIcon :=form1.Icon.Handle ;
MY_ICON^.ucallbackmessage := wm_mycallback;
my_icon^.sztip:='光驱';
Shell_NotifyIcon(NIM_ADD ,my_icon);
SetWindowRgn(Handle,CreateRectRgn(0,0,0,0),true);
end;