Params.WndParent := GetDesktopWindow;导致的问题

ajiwuweibin 2010-02-09 01:58:53
procedure TTalkFrm.CreateParams(var Params:TCreateParams);
begin
inherited CreateParams(Params);
Params.WndParent := GetDesktopWindow;
end;

本人在做一个聊天工具,聊天窗口为了显示在任务栏中加了以上那句代码,现导致的问题就是比如主窗口在最下面,聊天窗口在上面,从聊天窗口再点按钮创建另一个新的窗口,会变成聊天窗口在最下面,主窗口在上面,如果把上面那句代码换成SetWindowLong(Handle,GWL_EXSTYLE,(GetWindowLong(handle,GWL_EXSTYLE) or WS_EX_APPWINDOW));也可以实现聊天窗口显示在任务栏中,不过如果同时打开很多聊天窗口并且这些聊天窗口在桌面位置都在其他程序下面,让其中一个聊天窗口显示,其他所有聊天窗口都跟着显示,很不美观,请牛人帮忙,顺祝大家新年快乐!
...全文
371 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ajiwuweibin 2010-02-21
  • 打赏
  • 举报
回复
新年新景象,希望能得到答复,顶
slmax1 2010-02-21
  • 打赏
  • 举报
回复
帮你顶一下!!!!!
cnzdgs 2010-02-09
  • 打赏
  • 举报
回复
WS_EX_APPWINDOW扩展风格就是让窗口在任务栏显示。

如果窗口具有parent,则系统在显示时,会始终保持该窗口显示在其parent的前面,也就是激活其中一个会使所有窗口都显示出来。如果你希望所有窗口都独立显示,就要把所有窗口的parent都设置为桌面窗口。
ajiwuweibin 2010-02-09
  • 打赏
  • 举报
回复
怎么没人回啊?谁能帮我解决,再加一百分,绝不食言
dd_zhouqian 2010-02-09
  • 打赏
  • 举报
回复
我来看看,我不是牛人

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧