Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   TjvDockServer y TJvDockClient (https://www.clubdelphi.com/foros/showthread.php?t=62403)

blueicaro 20-12-2008 21:41:01

TjvDockServer y TJvDockClient
 
Hola a todos, hace algo de tiempo que ando por esto foro leyendo mucho, contestando poco, y aportando nada. Así que aquí va mi aportación

Hoy he estado buscando como usar los componentes TjvDockServer y TJvDockClient, y lo cual es sencillo y además guardar su estado y recuperalo al iniciar la aplicación.

Estos componentes nos permiten tener ventanas que se acoplan (dock en inglés) a los bordes de la ventana principal., y además como guardar el estado de la ventanas y recuperarlo al iniciar de nuevo la aplicación.

Un ejemplo sencillo, es el siguiente. Crear una aplicación con dos formularios o ventanas. La segunda ventana sacarla de la lista de creación automática.

En la primera ventanta, poner un control TjvDockServer, y un control TJvDockVSNetStyle1 para que las ventanas se acoplen con estilo NET, se pueden elegir otros componentes con otros estilos.

En TJvDockServer, conectarlo con el TJvDockVSNetStyle1, por medio de su propiedad DockStyle.

Siguiendo en la primera ventana, o principal, colocar los siguientes componentes: TJvAppIniFileStorage y TjvFormFormStorage. Por medio la propiedad AppStorage de este último, relacionarlos los dos.



Ahora en el evento Oncreate del primer formulario, poner algo así:

Código Delphi [-]
 jvAppStorage.FileName:= ExtractFilePath (Application.ExeName)+'test.ini';

 Form2 := TForm2.Create(Nil);
  LoadDockTreeFromAppStorage(JvAppStorage);
  jvFormStorage1.RestoreFormPlacement;


En la segunda ventana, colocar el componente TjvDockClient.

Indicar que la ventana principal hace referencia a la ventana secundaria, por medio de su clausula uses.

En el evento OnClose, de la ventana principal, escrbir algo así:
Código Delphi [-]
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
SaveDockTreeToAppStorage (jvAppStorage);
 jvFormStorage1.SaveFormPlacement;
end;

Por último, colocar un botón en el ventana principal, y en su evento Onclick, poner esto:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
 Form2.show;
end;

Con estas líneas de código, verás que tienes una ventana (la secundaria) que se puede acolplar a cualquier lugar de la principal, y además cuando cierras la aplicación y vuelves a abrirla la ventana secundaria aparece dónde estaba antes de cerrarse.

Saludos
/BlueIcaro


La franja horaria es GMT +2. Ahora son las 06:59:37.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi