如何让图标缩小在右下角(100分)

  • 主题发起人 主题发起人 xiaoyudelphi
  • 开始时间 开始时间
X

xiaoyudelphi

Unregistered / Unconfirmed
GUEST, unregistred user!
如何让程序界面在最小化后,会是在屏幕的右下角(即与系统显示的时间位置在一起)
 
我有控件!来信!
forevertyn@sina.com
 
xiaoyudelphi:问了上百次的问题了,提问前为什么不检索一下呢?
 
呵呵,如果你要看源代码,查查以前的帖子就有了,如果你要实现的话下载控件就可以
http://vcl.vclxx.org/DELPHIGB/DEFAULT.HTM
这里下载一个有关trayicon的控件
 
to 卷起千堆雪tyn
给我发一个谢谢
to terry_lzs
我下不来,麻烦你给我发一个
谢谢
我的E-mail是YXF292@263.NET
YXF292@163.NET
 
发过去了,请查收
 
RX里就有呀
 
这个老问题知道答案了吗,不知道我来给你贴。
 
论坛中已有上千的回答,请查询,
再回答有骗分之嫌
 
其实这样一个小问题,不需要用控件吧!!
用Windows中的TNotifyIconData不就一下子搞定了吗?
 
你们贴出来吧,我搜索看到的都是不能响应鼠标点击的.
希望你们能把完整的贴出来.
 
抓了一个来,看仔细了
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,ShellAPI;
const
WM_TRAYNOTIFY = WM_USER+100;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
procedure TrayNotifyMessage(var Sender: TMessage);
message WM_TRAYNOTIFY;
procedure MarkTaskBarIcon(Sender: TObject);
public
{ Public declarations }
end;

var
Form1: TForm1;
tnd : TNOTIFYICONDATA;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnMinimize := MarkTaskBarIcon;
end;

procedure TForm1.MarkTaskBarIcon(Sender: TObject);
begin
Form1.Visible := False;
tnd.cbSize := sizeof(tnd);
tnd.Wnd := Handle;
tnd.uID := 128;
tnd.uFlags := NIF_MESSAGE or NIF_ICON or NIF_TIP;
tnd.uCallbackMessage := WM_TRAYNOTIFY;
tnd.hIcon := Application.Icon.Handle;
StrPCopy(tnd.szTip,Application.Title);
Shell_NotifyIcon(NIM_ADD,@tnd);
end;

procedure TForm1.TrayNotifyMessage(var Sender: TMessage);
begin
if Sender.LParam = WM_LBUTTONDBLCLK then
begin
Shell_NotifyIcon(NIM_DELETE,@tnd);
Form1.Visible := True;
Application.Restore;
Application.BringToFront;
end;

end;

end.
 
查找trayicon我估计能找到不少。
另,delphi中倒是没有这样的demo,但cbuilder4中/examples/apps/trayicon下就有一个现在的例子
 
用控件trayicon
 
这个问题太简单了!
如果你搜索一下以前的帖子多的可以压坏你了!!!
 
这是一个菜才鸟级的问题,你可能是个新手吧,努力把,我的email:zjs.w1335@263.net
 
我有辕马,象金山词霸一样的
 
各位老大,这里好象是kylix版啊
 
用Win32 API函数可以实现:
Shell_NotifyIcon(...)用于在任务栏上添加、更改和删除一个图标!
结构如下:
WINSHELLAPI BOOL WINAPI SHell_NotifyIcon(DWORD DwMessage,//消息
PNOTIFYICONDATA pnid //指向一个数据
);
其中:
dwMessage指明了发送的消息类型,具有以下几个值:
NIM_ADD //添加一个图标
NIM——DELETE //删除一个图标
NIM——MODIFY //更改一个图标
pnid指向一个NOTIFYICONDATA数据结构定义的对象:
以下为NOTIFYICONDATA的定义:
typedef struct _NOTIFYICONDATA{//nid
DWORD cbsize;
HWND hwnd;
UINT uID;
UINT UFlags;
UINT UCallBackMessage;
Hicon hicon;
char szTip[64];
}
NOTIFYICONDATA, * PNOTIFYICONDATA
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部