如何制作类似NetAnt的"拖放窗口",使其一直在最前?(80分)

  • 主题发起人 主题发起人 浦欣
  • 开始时间 开始时间

浦欣

Unregistered / Unconfirmed
GUEST, unregistred user!
不要告诉我把窗口属性改为StayOnTop,我已经试过,它只能使主窗口一直在最前,而我的Form不是主窗口,
只要一切换就到后面了!
 
获得桌面窗口的句柄!
创建子窗口属于桌面窗口的窗口(StayOnTop)!
 
请详细点,最好举个例子!
 
需要调用API函数。
我很久以前用过,具体参数记不清楚了,你可以通过VB的API查看器查询一下。
调用SetWindowPos可以达到和设置DELPHI属性一样的效果。
要满足你的要求好象需要调用SendMessage函数向窗口发送消息才行。
 
已有人问过这个问题
<a href="http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=154800">请看这里</a>
 
这东东我以前问过,并修改如下,主要是重载TForm的CreateParams方法来改变该窗口
的Parnet,如:
protected
procedure CreateParams(Var Param:TCreateParams);override;

...
procedure TForm2.CreatePrams(Var Param:TCreateParams);
begin
inherited CreateParams(Param);
With Param do
begin
ExStyle:=ExStyle or WS_EX_TOPMOST or WS_EX_DLGFRAME or WS_EX_TOOLWINDOW or WS_EX_ACCEPTFILES;
~~~~~~~~~~~~~ ~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~
总在最前 去掉标题栏 窗口不在任务条上显示 接受文件拖放
wndParent:=GetDesktopWindow;
end;
end;
 
接受答案了.
 

Similar threads

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