procedure TMainForm.FB_MinClick(Sender: TObject);
var
h: HWnd;
lpData: TNotifyIconData;
begin
h := Application.Handle; postmessage(h, WM_SYSCOMMAND, SC_MINIMIZE, 0);
lpData.cbSize := 88;
lpData.Wnd := MainForm.Handle;
lpData.hIcon := MainForm.Icon.Handle;
lpData.uCallbackMessage := MI_ICONEVENT;
lpData.uID :=ICON_ID;
lpData.szTip := 'PAP电力建设工程管理系统';
lpData.uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP;
Shell_NotifyIcon(NIM_ADD,@lpData);
MainForm.Visible := false ;
end;
上面是一个按钮的点击事件,当点击按钮时,窗口被“最小化”成了一个任务栏图标,托盘图标.
我现在只要他在托盘上有图标.
于是,我在 oncreate 加上 SetWindowLong(Application.Handle,GWL_EXSTYLE, WS_EX_TOOLWINDOW); 这句话;
但是,左下角(任务栏上面),却出来了一个图标.点击可以还原窗体.
我现在要当点击按钮时候,只在托盘上显示小图标,左小脚的哪个条形图标不要.怎么做?
在线等. 大家来看看,谢谢
var
h: HWnd;
lpData: TNotifyIconData;
begin
h := Application.Handle; postmessage(h, WM_SYSCOMMAND, SC_MINIMIZE, 0);
lpData.cbSize := 88;
lpData.Wnd := MainForm.Handle;
lpData.hIcon := MainForm.Icon.Handle;
lpData.uCallbackMessage := MI_ICONEVENT;
lpData.uID :=ICON_ID;
lpData.szTip := 'PAP电力建设工程管理系统';
lpData.uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP;
Shell_NotifyIcon(NIM_ADD,@lpData);
MainForm.Visible := false ;
end;
上面是一个按钮的点击事件,当点击按钮时,窗口被“最小化”成了一个任务栏图标,托盘图标.
我现在只要他在托盘上有图标.
于是,我在 oncreate 加上 SetWindowLong(Application.Handle,GWL_EXSTYLE, WS_EX_TOOLWINDOW); 这句话;
但是,左下角(任务栏上面),却出来了一个图标.点击可以还原窗体.
我现在要当点击按钮时候,只在托盘上显示小图标,左小脚的哪个条形图标不要.怎么做?
在线等. 大家来看看,谢谢
[email protected]
SetWindowLong(Application.Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW);//程序不在任务栏上显示取自cg1120的帖子
呵呵
如果可以你直接送cg1120分吧
begin
inherited;
Params.ExStyle := Params.ExStyle + WS_EX_APPWINDOW;
end;
procedure TMainForm.WMSysCommand(var Message: TWMSysCommand);
//处理消息
begin
case Message.CmdType of
SC_MINIMIZE :
begin
//最小化
inherited;
TrayIcon.HideMainForm;//隐藏主窗体
end;
else
inherited;
end;
end;