PDA

Ver la Versión Completa : Clonando Varias Ventanas


adonias
26-12-2011, 15:19:16
Hola Amigos.

Disculpen mi ignorancia, pero estoy creando form duplicados de esta manera:


ms := TMemoryStream.Create;
try
ms.WriteComponent(Msn) ;
ms.Position := 0;
clone := TFormClass(Msn.ClassType).CreateNew(Application) ;
ms.ReadComponent(clone) ;
clone.Name := blabla;
clone.Caption := blabla;
clone.Show;
FlashWindow(Application.Handle, true);
finally
ms.Free;
end;


El problema es que en la barra de tareas, siempre se muestra UN SOLO FORM, y lo que necesito que que aparescan cuantos Form Clone.

Vean las imagenes a ver si me entienden...

adonias
26-12-2011, 15:37:03
Creo que voy a responder mi duda yo mismo...

Encontre esto:


unit Unit1;

interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls, FileCtrl;

type TForm1 = class(TForm)

private
protected
procedure CreateParams(var Params: TCreateParams); override;
public
end;

var Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.CreateParams(var Params: TCreateParams);
begin

inherited;
Params.ExStyle := Params.ExStyle or WS_EX_APPWINDOW;
Params.WndParent := GetDesktopWindow;
end;
end.

adonias
27-12-2011, 13:40:20
Ahh..!

Pero ahora tengo otro problema...


Cuando utilizo el FlashWindow, solo funciona en el Form principal...


FlashWindow(Clon.Handle, true);
FlashWindow(Handle, true);
FlashWindow(Application.Handle, true);


Alguien me puede ayudar?