BaseForm-Klasse


Haben Sie jemals selbst verschiedene Formen den gleichen Code hinzufügen gefunden? Nun können Sie das folgende als Basisklasse für alle Formen.

=============== BEGIN CODE ======================
Einheit BaseForm;

Schnittstelle

verwendet Windows, Forms, SysUtils, Klassen;

Typ
TBaseForm = class(TForm)
geschützt
Funktion IsModal(): Boolean;
Verfahren KeyDown (Var Key: Word; Verschiebung: TShiftState); außer Kraft setzen;
Verfahren ShowError (E: Exception);
MsgBox-Funktion (Msg: string;
uType: Integer = MB_OK oder MB_ICONSTOP): Integer; überladen;
MsgBox-Funktion (Msg, MsgCaption: string;
uType: Integer = MB_OK oder MB_ICONSTOP): Integer; überladen;
Ende;

Umsetzung

Steuerelemente verwendet;

{TPipeCallBaseForm}

Funktion TBaseForm.MsgBox (Msg: string;
uType: Integer = MB_OK oder MB_ICONSTOP): Integer;
beginnen
Ergebnis: = MsgBox (Msg, Beschriftung, uType);
Ende;

Procedure TBaseForm.KeyDown (Var Key: Word; Verschiebung: TShiftState);
beginnen
erbte;

Wenn ((IsModal) und (GetActiveWindow() = Handle) und (Key = VK_ESCAPE)) dann
ModalResult: = MrCancel;
Ende;

Funktion TBaseForm.MsgBox (Msg, MsgCaption: string;
uType: Integer = MB_OK oder MB_ICONSTOP): Integer;
var
FlashInfo: FLASHWINFO;
beginnen
Wenn (GetForegroundWindow() <> Handle) dann
beginnen
(* wenn das aktuelle Fenster nicht aktiv stellen ist es flash zu Alarmbenutzer *)
FillChar (FlashInfo, SizeOf(FLASHWINFO), 0);
FlashInfo.cbSize: = SizeOf(FLASHWINFO);
FlashInfo.dwFlags: = FLASHW_ALL oder FLASHW_TIMERNOFG;
FlashInfo.hwnd: = Griff;
FlashWindowEx(FlashInfo);
Ende;

Ergebnis: = MessageBox (Handle, PChar(Msg), PChar(Caption), uType);
Ende;

Prozedur TBaseForm.ShowError (E: Exception);
beginnen
MsgBox (Format (' Fehler: %s' #13 #13' Error-Klasse: %s', [E.Message, E.ClassName]));
Ende;

Funktion TBaseForm.IsModal: Boolean;
beginnen
Ergebnis: = (FsModal in FormState);
Ende;

Ende.

=============== END CODE ======================

Diese Grundform verwenden Sie einfach die Uses-Clausel 'BaseForm' hinzufügen und ändern Sie die Implementierung von Forms aus:

TfrmMyForm = class(TForm)

An

TfrmMyForm = class(TBaseForm)

Jedes Formular haben jetzt die Möglichkeit:

  • Eine Fehlermeldung in konsistenter Weise anzeigen
  • Zeigen Sie eine MessageDlg, während das Fenster blinken, wenn nicht aktiv.
  • MrCancel zurück, wenn der Benutzer ein modales Dialogfeld die ESC-Taste drückt.









BaseForm-Klasse


BaseForm-Klasse : Mehreren tausend Tipps, um Ihr Leben einfacher machen.


Haben Sie jemals selbst verschiedene Formen den gleichen Code hinzufügen gefunden? Nun können Sie das folgende als Basisklasse für alle Formen.

=============== BEGIN CODE ======================
Einheit BaseForm;

Schnittstelle

verwendet Windows, Forms, SysUtils, Klassen;

Typ
TBaseForm = class(TForm)
geschützt
Funktion IsModal(): Boolean;
Verfahren KeyDown (Var Key: Word; Verschiebung: TShiftState); außer Kraft setzen;
Verfahren ShowError (E: Exception);
MsgBox-Funktion (Msg: string;
uType: Integer = MB_OK oder MB_ICONSTOP): Integer; überladen;
MsgBox-Funktion (Msg, MsgCaption: string;
uType: Integer = MB_OK oder MB_ICONSTOP): Integer; überladen;
Ende;

Umsetzung

Steuerelemente verwendet;

{TPipeCallBaseForm}

Funktion TBaseForm.MsgBox (Msg: string;
uType: Integer = MB_OK oder MB_ICONSTOP): Integer;
beginnen
Ergebnis: = MsgBox (Msg, Beschriftung, uType);
Ende;

Procedure TBaseForm.KeyDown (Var Key: Word; Verschiebung: TShiftState);
beginnen
erbte;

Wenn ((IsModal) und (GetActiveWindow() = Handle) und (Key = VK_ESCAPE)) dann
ModalResult: = MrCancel;
Ende;

Funktion TBaseForm.MsgBox (Msg, MsgCaption: string;
uType: Integer = MB_OK oder MB_ICONSTOP): Integer;
var
FlashInfo: FLASHWINFO;
beginnen
Wenn (GetForegroundWindow() <> Handle) dann
beginnen
(* wenn das aktuelle Fenster nicht aktiv stellen ist es flash zu Alarmbenutzer *)
FillChar (FlashInfo, SizeOf(FLASHWINFO), 0);
FlashInfo.cbSize: = SizeOf(FLASHWINFO);
FlashInfo.dwFlags: = FLASHW_ALL oder FLASHW_TIMERNOFG;
FlashInfo.hwnd: = Griff;
FlashWindowEx(FlashInfo);
Ende;

Ergebnis: = MessageBox (Handle, PChar(Msg), PChar(Caption), uType);
Ende;

Prozedur TBaseForm.ShowError (E: Exception);
beginnen
MsgBox (Format (' Fehler: %s' #13 #13' Error-Klasse: %s', [E.Message, E.ClassName]));
Ende;

Funktion TBaseForm.IsModal: Boolean;
beginnen
Ergebnis: = (FsModal in FormState);
Ende;

Ende.

=============== END CODE ======================

Diese Grundform verwenden Sie einfach die Uses-Clausel 'BaseForm' hinzufügen und ändern Sie die Implementierung von Forms aus:

TfrmMyForm = class(TForm)

An

TfrmMyForm = class(TBaseForm)

Jedes Formular haben jetzt die Möglichkeit:

  • Eine Fehlermeldung in konsistenter Weise anzeigen
  • Zeigen Sie eine MessageDlg, während das Fenster blinken, wenn nicht aktiv.
  • MrCancel zurück, wenn der Benutzer ein modales Dialogfeld die ESC-Taste drückt.


BaseForm-Klasse

BaseForm-Klasse : Mehreren tausend Tipps, um Ihr Leben einfacher machen.
BaseForm-Klasse
Wiezutun
Freunden empfehlen
  • gplus
  • pinterest

Kommentar

Einen Kommentar hinterlassen

Wertung