40 - Interfaces visuales con Delphi (VCL)

Hasta ahora solo hemos desarrollado aplicaciones en modo texto para conocer y aprender la sintaxis del lenguaje Object Pascal y practicar el desarrollo de algoritmos.

Delphi es famoso en el sistema operativo Windows por la facilidad de implementar interfaces visuales utilizando la librería VCL (Visual Component Library)

La VCL nos facilita de sobremanera el desarrollo de interfaces visuales arrastrando objetos (botones, cuadros de entrada de dato, cuadros de selección etc.) a una ventana.

Nos permite modificar propiedades de esos objetos y ver su resultado inmediatamente sin tener que compilar la aplicación (cambiar color, texto, fuentes etc. de botones y otros controles visuales)

Además de configurar sus propiedades podemos asociar código a distintos eventos de los controles visuales, por ejemplo que debe ejecutarse al ser presionado un botón.

Actualmente hay otra librería en Delphi (FireMonkey) para crear interfaces visuales multiplataforma (Windows, Mac, Android), pero si estamos desarrollando una aplicación que solo se ejecutará en el entorno de Windows la más adecuada y optimizada es la VCL.

Pasos para crear un proyecto utilizando la VCL

Veamos ahora como crear un proyecto que utilice la VCL para crear su interfaz visual.

  1. Desde el menú de opciones seleccionamos File -> New -> Other

    creación proyecto con la VCL Delphi
  2. Seleccionamos un proyecto: "VCL Forms Application":

    creación proyecto con la VCL Delphi

Ya tenemos el proyecto creado y como vemos el entorno de Delphi nos muestra una "VENTANA" en la parte central donde dispondremos todos los controles visuales de nuestra aplicación:

creación proyecto con la VCL Delphi

Además del menú de opciones y botones de acceso rápido de Delphi:

meú y botones de acceso rápido de Delphi

hay cinco ventanas fundamentales con distintos objetivos:

  1. Structure: Veremos todos los nombres de objetos visuales que dispongamos en el formulario central.
  2. Object Inspector: Nos mostrará las propiedades y eventos del objeto visual que se encuentre seleccionado en el formulario central.
  3. Formulario central: Es la ventana donde agregaremos objetos visuales.
  4. Project Manager: Nos muestra todos los archivos que contiene nuestro proyecto.
  5. Tool Palette: Contiene todos los objetos visuales que podemos arrastrar al formulario central para diseñar nuestra aplicación.

Cuando se crea un proyecto con Delphi utilizando la VCL se agrega el primer objeto (Form1) en forma automática generando los archivos necesarios.

Seleccionemos desde la ventana "Project Manager" el archivo Unit1.pas Unit1.pas

Nos aparece en lugar del "Formulario central" la unidad en pascal que se asocia a dicho formulario. Ya veremos con más detenimiento el código generado:

unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs;

type
  TForm1 = class(TForm)
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

end.

Como vemos se declara una clase llamada TForm1 que hereda de la clase TForm. Su interior está vacía. En la sección de definición de variables se define un objeto llamado Form1 de la clase declarada previamente TForm1.

Si queremos ver donde se crea el objeto Form1 debemos seleccionar desde el menú de opciones Project -> View Source:

ver archivo dpr

Ahora podemos ver donde se crea el objeto Form1 en el archivo principal de nuestro proyecto:

program Proyecto143;

uses
  Vcl.Forms,
  Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.

En la unidad Vcl.Forms se crea un objeto llamado Application y luego mediante la llamada al método CreateForm le pasamos la referencia de la clase y la variable que debe crear:

  Application.CreateForm(TForm1, Form1);

Normalmente no modificaremos este archivo y nos concentraremos en la Unit1.pas donde implementaremos la lógica de nuestra aplicación.

Acotaciones

En forma rápida podemos crear un proyecto en Delphi utilizando la librería VCL:

creación proyecto con la VCL Delphi