TTprxForm

De Pragma Wiki
Ir a la navegación Ir a la búsqueda

Introducción

El objeto TTprxForm (Form de base original) es el form de base original de muchos de los forms de la aplicación.

(Ver también TfvsForm).

Identidad

  • Ancestro: TForm
  • Carpeta: C:\DevelopPrx\explorer
  • Archivo: prxForm.pas

Declaración

type
  TTprxForm = class(TForm)
    ActionListOpenFormList: TActionList;
    prxADOQueryAUXDeBase: TprxADOQuery;
    prxDataSourceAUXDeBase: TDataSource;
    ApplicationEvents1: TApplicationEvents;
    procedure FormShow(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure ShowFormMeasures(Sender: TObject);
    procedure EventoNulo(Sender: TObject);
    procedure ActionCloseFormExecute(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure ApplicationEvents1Mesage(var Msg: tagMSG; var Handled: Boolean);
  private
    FImageId: String;

    FShowCount: Integer;
    FFreeOnClose: Boolean;

    FPropTop: Integer;
    FPropLeft: Integer;
    FGuardarFormato: Boolean;
    FFormatoClave: String;
    FNoTaskBar: Boolean;

    FfvsPreferenciasX: Tfva_pantallas_preferencias;
    FDataSet_Options_Impresion_Menu: TprxADODataSet_Options_Impresion_Menu;

    Fquery_sql: TStringList;
  protected
    FActivateCount: Integer;

    function    Images: TImageList;

    procedure   MostrarListaDeComandos(aList: TStringList); overload;
    procedure   MostrarListaDeComandos(aComando: String); overload;

    property    ActivateCount: Integer read FActivateCount write FActivateCount;

    property    ShowCount: Integer read FShowCount write FShowCount;

    property    fvsPreferenciasX: Tfva_pantallas_preferencias read FfvsPreferenciasX write FfvsPreferenciasX;
    property    DataSet_Options_Impresion_Menu: TprxADODataSet_Options_Impresion_Menu read FDataSet_Options_Impresion_Menu write FDataSet_Options_Impresion_Menu;

    property    query_sql: TStringList read Fquery_sql write Fquery_sql;
  public
    procedure   PreferencesLoad;
    procedure   PreferencesSave(aComponente: String; aPropiedad: String; aValor: String);

    property    ImageId: String read FImageId write FImageId;
    property    FreeOnClose: Boolean read FFreeOnClose write FFreeOnClose;
    property    GuardarFormato: Boolean read FGuardarFormato write FGuardarFormato;
    property    FormatoClave: String read FFormatoClave write FFormatoClave;
    property    NoTaskBar: Boolean read FNoTaskBar write FNoTaskBar;
  published
    property    PropTop: Integer read FPropTop write FPropTop;
    property    PropLeft: Integer read FPropLeft write FPropLeft;
  end;

Implementación

procedure FormShow(Sender: TObject)

El código es el siguiente:

begin
  Inc(FShowCount);

  if Trim(FormatoClave) = '' then
     FormatoClave := Self.Name;

  if ShowCount = 1 then
     begin
     PropTop   := Top;
     PropLeft  := Left;
     query_sql := TStringList.Create;

     // Nuevas preferencias de usuario...

     PreferencesLoad;

     if GuardarFormato then
        begin
        PreferencesLoad;
        end;
     end;
end;

La propiedad FShowCount se incrementa cada vez que el form se muestra (cada vez que se trae al frente) y la usamos habitualmente como muestra el código con:

if ShowCount = 1 then
   begin
   // Si es la primera vez que lo mostramos hacemos algo que no queremos hacer cada vez que se muestre el form, como instanciar algún objeto.

   ;
   end;

Luego carga las preferencias con PreferencesLoad (posición en la pantalla, ancho y alto).

procedure MostrarListaDeComandos(aList: TStringList)

Procedimiento genérico para ver una lista de comandos informados en el argumento aList, muestra una pantalla similar a:

procedure MostrarListaDeComandos(aComando: String)

Similar anterior, pero informa un string.

procedure PreferencesLoad

Carga las preferencias del usuario respecto de la pantalla.

procedure PreferencesSave(aComponente: String; aPropiedad: String; aValor: String)

Guarda las preferencias, normalmente justo antes de cerrar el form.

Uso

El form es ancestro de los siguientes (no todos están en uso):

Uso interno, en reemplazo por otro form

No se documenta.

Forms obsoletos

No se documentan.