Configurar los form para aplicaciones móviles multidispositivo


CÓMO CONFIGURAR LOS FORM PARA APLICACIONES MÓVILES MULTIDISPOSITIVO

Seguimos tratando el tema "cómo se hizo esta app", en esta ocasión desde el punto de vista del interface gráfico (Layouts, Margins, Padding, etc...)

Empezaremos por el Form de inicio de la app:



Lo primero que tenéis que hacer es mostrar la vista de Estructura, desde el menú View-Structure 
Después desde el selector de objetos añadiremos a nuestra aplicación:

-  un tToolBar y pondremos la propiedad Align=Top,

- un tRectangle con la propiedad 
Align=Client, 
Fill-Gradient-Edit=#FFE0E0E0
Fill-Kind=Gradient. Éste debe de estar "colgando" del tToolBar.

- un tLabel colgando del tRectangle, indicando Align=Client, Text='SEÑALES DE TRÁFICO', TextSettings-HorzAlign=Center
  Haremos clic con el botón derecho del ratón y en el menú emergente seleccionaremos el menú  Control-Send to Back.

La estructura nos tiene que quedar de la siguiente forma:

y el ToolBar así:

Seguidamente añadiremos un tLayout (Align=Client) y colgando de él un tImage (que será la imagen de fondo) Align=Client
En el tImage desde la propiedad MultiresBitmap seleccionaremos la imagen que estará en nuestro PC

y pulsando el botón 
lo añadiremos a nuestro fondo del Form.

Por último nos queda añadir los botones (R1 a R7) que deberán colgar del Layout añadido anteriormente, 
La vista de estructura quedaría aproximadamente de este modo:


En mi caso he añadido un Layout intermedio (Layout11) cambiando la propiedad Margins-Bottom, Top,Left, Right a 10, con el fin de que los botones no lleguen a tocar el borde de la pantalla, lo que queda más elegante.

Dentro del código del evento OnClic de los botones llamaría a cada unit del programa; por ejemplo para activar el Juego 1 habría que hacer:

  Form1.Hide;             // es el form actual
  FormJuego1.Show;   // es el Form del Juego

Otra forma más optimizada para ahorrar memoria podría ser:

  Application.CreateForm(TFormJuego1, FormJuego1);
  FormJuego1.Show;
  Form1.Close;

TRUCO: Desde el menú Project-View Source  añadir la línea

BEGIN
....
ReportMemoryLeaksOnShutdown:=true;

....
END;

Para que  Delphi os avise cuando cerréis el programa si ha encontrado memory leaks en vuestro código, por ejemplo aquí daría un aviso:

var
fich:tstringlist;
begin
fich:=tstringlist.create
fich.loadfromfile('prueba.txt');
end;

ya que faltaría hacer "fich.free;"













No hay comentarios:

Publicar un comentario