Params.WndParent := GetDesktopWindow;导致的问题
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));也可以实现聊天窗口显示在任务栏中,不过如果同时打开很多聊天窗口并且这些聊天窗口在桌面位置都在其他程序下面,让其中一个聊天窗口显示,其他所有聊天窗口都跟着显示,很不美观,请牛人帮忙,顺祝大家新年快乐!