怎样让程序不最小化到任务栏? (10分)

  • 主题发起人 MaxWoods
  • 开始时间
M

MaxWoods

Unregistered / Unconfirmed
GUEST, unregistred user!
注意,不是要将程序从任务栏隐藏,而是最小化时不到任务栏上,就像Winamp只显示在<br>系统状态栏时,最小化时会缩到左下角,然后消失。<br>请问这是怎么实现的?<br>不要告诉我用ShowWindow(Appliation.Handle,SW_HDIE);这是从任务栏隐藏!<br>谢谢!<br><br>我再次说明,不是将程序最小化到Tray Icon,这个我已经实现了,我自己写了个VCL。<br>你们打开Winamp,设置只能在System Tray显示,这时你让它的主窗体最小化,你看到了<br>什么?它缩小到左下角然后消失了!!!同时任务条上没有显示!<br>我就是要它缩小到左下角这种效果!不要再跟我提Tray Icon了,这只是一个简单的API<br>就能搞定的问题!我只是要一个最小化后缩成一团的窗口,并且它不且示在任务栏!
 
不太懂你的意思,tray icon?
 
实现起来比较麻烦,去下载TrayIcon控件,只要放到窗体上就行了
 
我再次说明,不是将程序最小化到Tray Icon,这个我已经实现了,我自己写了个VCL。<br>你们打开Winamp,设置只能在System Tray显示,这时你让它的主窗体最小化,你看到了<br>什么?它缩小到左下角然后消失了!!!同时任务条上没有显示!<br>我就是要它缩小到左下角这种效果!不要再跟我提Tray Icon了,这只是一个简单的API<br>就能搞定的问题!我只是要一个最小化后缩成一团的窗口,并且它不且示在任务栏!
 
unit Unit1;<br><br>interface<br><br>uses<br>&nbsp; Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,<br>&nbsp; StdCtrls;<br><br>type<br>&nbsp; TForm1 = class(TForm)<br>&nbsp; &nbsp; Button1: TButton;<br>&nbsp; &nbsp; procedure Button1Click(Sender: TObject);<br>&nbsp; private<br>&nbsp; &nbsp; { Private declarations }<br>&nbsp; &nbsp; procedure AnimatedHide;<br>&nbsp; public<br>&nbsp; &nbsp; { Public declarations }<br>&nbsp; end;<br><br>var<br>&nbsp; Form1: TForm1;<br><br>implementation<br><br>{$R *.DFM}<br><br>procedure TForm1.AnimatedHide;<br>var<br>&nbsp; rPt1, rPt2: TPoint;<br>begin<br>&nbsp; rPt1 := ClientToScreen( ClientRect.TopLeft );<br>&nbsp; rPt2 := ClientToScreen( ClientRect.BottomRight );<br><br>&nbsp; DrawAnimatedRects(<br>&nbsp; &nbsp; Handle,<br>&nbsp; &nbsp; IDANI_CAPTION,<br>&nbsp; &nbsp; Rect( rPt1.X, rPt1.Y, rPt2.X, rPt2.Y ),<br>&nbsp; &nbsp; Rect( 0{Screen.Width}, Screen.Height, 0{Screen.Width}, Screen.Height ) );<br>&nbsp; Hide;<br>end;<br><br><br>procedure TForm1.Button1Click(Sender: TObject);<br>begin<br>&nbsp; AnimatedHide;<br>end;<br><br>end.<br>
 
顶部