我在formcreate()中加了
SetWindowLong(Handle,GWL_EXSTYLE,(GetWindowLong(handle,GWL_EXSTYLE) or WS_EX_APPWINDOW));这样可以让show出的每个窗口都出现在任务栏上了,但是在任何窗口获得焦点的时候,其它的窗口也一并出现了。我想做到象qq那样的,其中一个聊天窗口得到焦点时,其它的窗口不要前置。

解决方案 »

  1.   

    那就别SetWindowLong了,单独操作那一个窗体就行了,别的窗体别管
      

  2.   

    为什么发个贴还要分,我是来赚分的。55procedure TForm1.FormCreate(Sender: TObject);
    begin
      SetWindowLong(Self.Handle, GWL_EXSTYLE, GetWindowLong(Self.Handle, GWL_EXSTYLE) or WS_EX_APPWINDOW);
      ParentWindow := GetDesktopWindow;
    end;
      

  3.   

    是想要这样吗?
    让子窗体显示在任务栏上,并且主窗体和子窗体都是独立的,点击子窗体主窗体不会有焦点等的改变
    参考下:http://ask.xuedelphi.com/Html/200912/2009121619515031509.html
      

  4.   


    procedure CreateParams(var Params: TCreateParams); override;procedure TForm1.CreateParams(var Params: TCreateParams);
    begin
      inherited;
      Params.ExStyle := Params.ExStyle or WS_EX_APPWINDOW;
    end;
      

  5.   

    bsp1214,oloveuxyz的方法有效,谢谢