请问怎样可以实现任务栏图标的闪烁?(当对数据库进行查询记录查询到时,过程不用管,只要实现图标的闪烁就可以了。最好带点代码!)
谢谢大家!
谢谢大家!
解决方案 »
- 在文本文件中按行写入数据和提取数据
- 请教大下!
- 在存储过程中动态增加表字段,字段名用常量可以,用变量就总出错,请指教!
- 如何在Delphi调用后台的WebService时加入数字证书
- sendmessage的4个参数
- 初学者关于data module的问题
- 硬盘急救:我的一个80G非系统硬盘,是NTFS分成一个区,不慎删了分区(没有进一步操作),请问如何恢复,我的500多个文件在根目录。
- 怎样修改打印预览中的“close”
- 各位大虾:为什么我的exe文件运行时,form上的icon图标与win98底部工具栏上的icon光标不一致?(我在object inspector中设置了自己的icon) 谢谢大虾!
- 万分火急!!!一个非常简单但又迫切需要解决的问题!!!!
- 共享:一个用QUICKREP作的动态报表
- 刚学DELPHI有一问题
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Menus,shellapi, ImgList, ExtCtrls;type
//----------------------------------------------------------------------
PNotifyIconData = ^TNotifyIconDataA;
TNotifyIconDataA = record
cbSize : DWORD;
Wnd : HWND;
uID : UINT;
uFlags : UINT;
uCallbackMessage : UINT;
hIcon : HICON;
szTip : array [0..63] of AnsiChar;
end;
//----------------------------------------------------------------------
TForm1 = class(TForm)
PopupMenu1: TPopupMenu;
open1: TMenuItem;
close1: TMenuItem;
N1: TMenuItem;
about1: TMenuItem;
ImageList1: TImageList;
Timer1: TTimer;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure open1Click(Sender: TObject);
procedure close1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
//-------------------------------------------------------------
Icons: array[0..1] of TIcon;
IconData: TNotifyIconData;
procedure ShowIcon;
procedure IconOnClick(var message:TMessage); message WM_USER+1;
Procedure WMSysCommand(Var message : TMessage) ; Message WM_SYSCOMMAND ;
//-------------------------------------------------------------
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.DFM}procedure TForm1.IconOnClick( var message: Tmessage);
var p : TPoint;
begin
if (message.lParam = WM_LBUTTONDOWN) then
begin
ShowWindow(Handle, SW_SHOW );
end;
if (message.lParam = WM_RBUTTONDOWN) then
begin
GetCursorPos(p);
popupmenu1.Popup( p.x ,p.y );
end;
end;Procedure TForm1.WMSysCommand(Var Message : TMessage) ;
begin if (Message.WParam = SC_MINIMIZE) then
begin
ShowIcon;
end
else
Inherited;end;procedure TForm1.ShowIcon;
begin
IconData.cbSize := SizeOf( IconData );
IconData.Wnd := Handle;
IconData.uID := 1;
IconData.uFlags := NIF_ICON
or NIF_MESSAGE or NIF_TIP;
IconData.uCallBackMessage := WM_USER+1;
IconData.hIcon := Icons[0].Handle;//application.Icon.Handle;
IconData.szTip := 'LANChat';
Shell_NotifyIcon( NIM_ADD, @IconData );
ShowWindow(Handle, SW_HIDE);
hide;
end;procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Shell_NotifyIcon( NIM_DELETE, @IconData );
end;procedure TForm1.open1Click(Sender: TObject);
begin
Form1.Show;
end;procedure TForm1.close1Click(Sender: TObject);
begin
Form1.close;
end;procedure TForm1.FormShow(Sender: TObject);
begin showwindow(application.handle,sw_hide);end;procedure TForm1.FormCreate(Sender: TObject);
var
i: integer;
begin
for i:=0 to 1 do
begin
Icons[i] := TIcon.Create;
ImageList1.GetIcon(i,Icons[i]);
end;
showicon;
end;procedure TForm1.Timer1Timer(Sender: TObject);
begin
if IconData.hIcon = Icons[0].Handle then IconData.hIcon := Icons[1].Handle
else IconData.hIcon := Icons[0].Handle;
Shell_NotifyIcon( NIM_MODIFY, @IconData );
end;end.