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