01-06-2011, 01:12 PM
السلام عليكم
كيف يمكنني اخفاء البالون الاخباري بعد وقت معين ؟
شكرا
كيف يمكنني اخفاء البالون الاخباري بعد وقت معين ؟
كود :
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,ShellApi;
const
NIF_INFO = $10;
NIIF_INFO = $00000001;
NOTIFYICON_VERSION = 3;
type
PNewNotifyIconData = ^TNewNotifyIconData;
TDUMMYUNIONNAME = record
case Integer of
0: (uTimeout: UINT);
1: (uVersion: UINT);
end;
TNewNotifyIconData = record
cbSize: DWORD;
Wnd: HWND;
uID: UINT;
uFlags: UINT;
uCallbackMessage: UINT;
hIcon: HICON;
//Version 5.0 is 128 chars, old ver is 64 chars
szTip: array [0..127] of Char;
dwState: DWORD; //Version 5.0
dwStateMask: DWORD; //Version 5.0
szInfo: array [0..255] of Char; //Version 5.0
DUMMYUNIONNAME: TDUMMYUNIONNAME;
szInfoTitle: array [0..63] of Char; //Version 5.0
dwInfoFlags: DWORD; //Version 5.0
end;
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
private
IconData: TNewNotifyIconData;
procedure ShowBalloonTips;
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.ShowBalloonTips;
var
TipInfo, TipTitle: string;
begin
IconData.cbSize := SizeOf(IconData);
IconData.uFlags := NIF_INFO;
TipInfo := (memo1.Lines.text);
strPLCopy(IconData.szInfo, TipInfo, SizeOf(IconData.szInfo) - 1);
TipTitle := 'Yassine_hell'; //???????
strPLCopy(IconData.szInfoTitle, TipTitle, SizeOf(IconData.szInfoTitle) - 1);
IconData.dwInfoFlags := NIIF_INFO; //??????????????????????????????????
Shell_NotifyIcon(NIM_MODIFY, @IconData);
Shell_NotifyIcon(NIM_ADD, @IconData);
//Shell_NotifyIcon(NIM_DELETE, @IconData)
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowBalloonTips;
end;
end.
