📄 unit1.pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,shellapi;
const
icon_id=1; //icon的id标志
MI_ICONEVENT=WM_USER+1; //自定义icon事件
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
normalicon:ticon;
procedure InstallIcon;
procedure UnInstallIcon;
procedure icononclick(var message:tmessage);
message MI_ICONEVENT; //捕捉自定义消息MI_ICONEVENT的过程IconOnClick的声明
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses unit2;
procedure TForm1.IconOnClick(var message:TMessage);
//处理鼠标在指示状态栏对应的图标上的单击事件
begin
//如果按下的是鼠标左键,并且允许显示,则显示Form2
if message.lParam=WM_LBUTTONDOWN then
Form2.Show;
end;
procedure TForm1.InstallIcon;
//安装图标
var
IconData:TNotifyIconData;
begin
NormalIcon:=TIcon.Create;
NormalIcon.LoadFromFile('normal.ico');
//允许使用状态下的图标
IconData.cbSize:=SizeOf(IconData);
IconData.Wnd:=Handle;
IconData.uID:=ICON_ID;
IconData.uFlags:=NIF_ICON or NIF_MESSAGE or NIF_TIP;
IconData.uCallBackMessage:=MI_ICONEVENT;
IconData.hIcon:=NormalIcon.Handle;
IconData.szTip:='给指示状态栏加图标的例程';
//鼠标悬在状态指示栏对应的图标上时的提示信息
Shell_NotifyIcon(NIM_ADD,@IconData);
end;
procedure TForm1.UnInstallIcon;
//卸载图标
var
IconData:TNotifyIconData;
begin
IconData.cbSize:=SizeOf(IconData);
IconData.Wnd:=Handle;
IconData.uID:=ICON_ID;
Shell_NotifyIcon(NIM_DELETE,@IconData);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
InstallIcon;
ShowWindow(Application.Handle,SW_HIDE);
//隐藏主窗体
SetWindowLong(Application.Handle,GWL_EXSTYLE ,WS_EX_TOOLWINDOW); //WS_EX_TOOLWINDOW
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
UnInstallIcon;
//卸载图标
NormalIcon.Free;
end;
procedure TForm1.FormActivate(Sender: TObject);
begin
Form1.width:=0;
Form1.Height:=0;
ShowWindow(Application.Handle,SW_HIDE);
//隐藏Form1
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -