各位大侠:
我想实现这样的功能,该怎么做程序呢?
当我点击了一个窗体内的按钮后,该窗体隐藏了,但是不要让你在任务栏中显示,而是在状态栏中显示,也就是说仅仅在系统时间所在的那一栏显示,我该怎么实现呢?尽请赐教!
我想实现这样的功能,该怎么做程序呢?
当我点击了一个窗体内的按钮后,该窗体隐藏了,但是不要让你在任务栏中显示,而是在状态栏中显示,也就是说仅仅在系统时间所在的那一栏显示,我该怎么实现呢?尽请赐教!
解决方案 »
- 有关字符串操作的两个问题,请高人相助
- caFree和application.messageBox()如何协调?
- ★★★国庆散分了★★★
- 会者不难
- delphi中,怎么把文件流转换成字符串,在线等。
- 怎样不用TWEBBROWSER直接使用IHTMLDOCUMENT2来分析HTML代码?
- 如何在richedit上让i行以不同颜色显示?在线等待,跟者有分
- 请问delphi中的stdcall关键字是什么意思,有什么作用?
- 各位老师请帮忙delphi中WriteProcessMemory就是不写入。
- Hi!前度刘郎今又来,各位老朋友和新朋友,大家好,可惜立马又得走:(
- dll文件调试问题!!!
- delphi程序不能向excel写入内容?
在状态栏显示图标(其实正规得叫法应该是系统托盘区):这得需要调用一个API函数,我一时想不起来了,建议你在帖子当中搜索一下“系统托盘”,应该会找到得。
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, SUIPopupMenu, ImgList{¶îÍâµÄÒýÓÃ},MMSystem,shellapi,
ExtCtrls, SUIForm, XP_Balloon, SUIButton, StdCtrls;type
TForm1 = class(TForm)
popupmenu1: TsuiPopupMenu;
SetOpenMnu: TMenuItem;
SetClosedMnu: TMenuItem;
N3: TMenuItem;
ExitMnu: TMenuItem;
ImageList1: TImageList;
hideBtn: TsuiButton;
XP_Balloon1: TXP_Balloon;
Label1: TLabel;
Timer1: TTimer;
procedure SetOpenMnuClick(Sender: TObject);
procedure SetClosedMnuClick(Sender: TObject);
procedure ExitMnuClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure hideBtnClick(Sender: TObject);
procedure popupmenu1Popup(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
IconData: TNotifyIconData;
cdromIcon: TIcon;
procedure IconOnClick(var message:TMessage);message WM_USER+100;
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.SetOpenMnuClick(Sender: TObject);
begin
mciSendString('Set cdaudio door open wait',nil,0,Handle);
end;procedure TForm1.SetClosedMnuClick(Sender: TObject);
begin
mciSendString('Set cdaudio door closed wait',nil,0,Handle);
end;procedure TForm1.ExitMnuClick(Sender: TObject);
begin
Close();
end;procedure TForm1.FormCreate(Sender: TObject);
var
rectWin: TRect;
cxOfScr: Integer;
cyOfScr: Integer;
hwndT: HWND;
begin
cdromIcon:=TIcon.Create;
cdromIcon.LoadFromFile('CD Drive.ico'); IconData.cbSize:=sizeof(IconData);
IconData.Wnd:=Handle;
IconData.uID:=1;
IconData.uFlags:=NIF_ICON or NIF_MESSAGE or NIF_TIP;
IconData.uCallbackMessage:=WM_USER+100;
IconData.hIcon:=cdromIcon.Handle;
IconData.szTip:='隐藏窗口示例'; //增加图标到任务栏托盘区
Shell_NotifyIcon(NIM_ADD,@IconData); SetWindowLong(Application.Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW);
ShowWindow(Form1.Handle,SW_HIDE);
Timer1.Enabled:=True;
end;procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Shell_NotifyIcon(NIM_DELETE,@IconData);
action:=cafree;
end;//单击小图标的处理函数
procedure TForm1.IconOnClick(var message:TMessage);
var
p: TPoint;
begin
if(message.LParam=WM_LBUTTONDBLCLK) then
ShowWindow(Handle,SW_SHOW);
if(message.LParam=WM_RBUTTONDOWN) then
begin
GetCursorPos(p);
popupmenu1.Popup(p.x,p.y);
end;
end;procedure TForm1.hideBtnClick(Sender: TObject);
begin
ShowWindow(Form1.Handle,SW_HIDE);
end;procedure TForm1.Timer1Timer(Sender: TObject);
begin
ShowWindow(Handle,SW_HIDE);
Timer1.Enabled:=False;
end;end.你看看可以么.
我这个是一启动就隐藏的,你可以在按钮里面调用我写在FormCreate里的内容.