Foxmail4.0k中,浮动在屏幕上的新邮件提示栏是怎么实现的?(50分)

  • 主题发起人 主题发起人 FYS
  • 开始时间 开始时间
F

FYS

Unregistered / Unconfirmed
GUEST, unregistred user!
Foxmail4.0k中,浮动在屏幕上的新邮件提示栏是怎么实现的?
 
把窗体的标题栏去掉Form1.BorderStyle := bsNone;
再放在最前面Form1.FormStyle:=fsStayOnTop;
然后在窗体上放一图片或者写上几句话就差不多了
 
这样不行的,当你把程序最小化后,浮在屏幕上的提示栏,也会不见了,可FOXMAIL不会啊
 
那就查一下那方面的资料
我见到过的
就是新生成的窗口有自己的句柄
就想oicq的消息窗口,自己能在任务栏上占个位置的
这样就不会随着主窗口的最小化而最小化了。
好象是重载一个什么消息的,具体的不记的了
找找吧,就dfw上就有
 
我现在没装它,但我以前用过。

设想一下,这个小窗口和你的主窗口分别是两个EXE,问题就简单了。
 
如果用两个EXE,那我怎么在两个EXE之间传递消息?
 
参考一下这个,在你的应用程序之间通信

http://go1.163.com/delphigirl/api/36.htm

不过看来还是一个应用程序来得方便。我以为你只是要一个漂亮的滚动窗口
 
现在我是为两个程序在实现,但是当按windows的显示桌面按钮时,滚动条也最小化了
有没有什么方法不让他最小化
 
按一下win+M 键全最小化了
 
试试将以下代码加入你那个提示窗口你就知道了.

procedure CreateParams(var Params: TCreateParams); override;

procedure TForm2.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
Params.ExStyle := Params.ExStyle or WS_EX_APPWINDOW;
Params.WndParent := GetDesktopWindow;
end;
 
多人接受答案了。
 
后退
顶部