La classe baseform classe


Avez-vous jamais trouvé vous-même en ajoutant le même code pour les différentes formes? & nbsp eh Bien maintenant vous pouvez utiliser ce qui suit comme une classe de base pour toutes les formes.

=============== & nbsp & nbsp COMMENCER CODE & nbsp ======================
unité de la classe baseform

interface

utilise SysUtils, Classes, les Formes, Windows

type
& nbsp TBaseForm = class(TForm)
& nbsp protégé
& nbsp & nbsp & nbsp fonction IsModal(): Boolean
& nbsp & nbsp & nbsp procédure KeyDown(var Key: Word Shift: TShiftState) remplacer
& nbsp & nbsp & nbsp procédure ShowError(E: Exception)
& nbsp & nbsp & nbsp fonction MsgBox(Msg: string
& ! & ! & ! & ! & nbsp uType: Entier = MB_OK ou MB_ICONSTOP): Integer surcharge
& nbsp & nbsp & nbsp fonction MsgBox(Msg, MsgCaption: string
& ! & ! & ! & ! & nbsp uType: Entier = MB_OK ou MB_ICONSTOP): Integer surcharge
& nbsp fin

la mise en œuvre

utilise des Commandes

{ TPipeCallBaseForm }

la fonction TBaseForm.MsgBox(Msg: string
& nbsp uType: Entier = MB_OK ou MB_ICONSTOP): Integer
begin
& nbsp Résultat := MsgBox(Msg, Légende, uType)
fin

procédure TBaseForm.KeyDown(var Key: Word Shift: TShiftState)
begin
& nbsp hérité

& nbsp si ((IsModal) et (GetActiveWindow() = Manche) et (Clé = VK_ESCAPE))
& nbsp & nbsp & nbsp ModalResult := mrCancel
fin

la fonction TBaseForm.MsgBox(Msg, MsgCaption: string
& nbsp uType: Entier = MB_OK ou MB_ICONSTOP): Integer
var
& nbsp FlashInfo: FLASHWINFO
begin
& nbsp si (GetForegroundWindow() <> Poignée)
& nbsp commencer
& nbsp & nbsp & nbsp (* si la fenêtre n'est pas active en faire flash pour alerter l'utilisateur *)
& nbsp & nbsp & nbsp FillChar(FlashInfo, SizeOf(FLASHWINFO), 0)
& nbsp & nbsp & nbsp FlashInfo.cbSize := SizeOf(FLASHWINFO)
& nbsp & nbsp & nbsp FlashInfo.dwFlags := FLASHW_ALL ou FLASHW_TIMERNOFG
& nbsp & nbsp & nbsp FlashInfo.hwnd := Poignée
& nbsp & nbsp & nbsp FlashWindowEx(FlashInfo)
& nbsp fin

& nbsp Résultat := MessageBox(Poignée, PChar(Msg), PChar(Légende), uType)
fin

procédure TBaseForm.ShowError(E: Exception)
begin
& nbsp MsgBox(Format ('Erreur: %s'#13#13'Error Classe: %s', [E. Message, E. ClassName]))
fin

la fonction TBaseForm.IsModal: Boolean
begin
& nbsp Result := (fsModal dans FormState)
fin

à la fin.

=============== & nbsp & nbsp CODE de FIN & nbsp ======================

Pour utiliser cette forme de base, vous ajoutez simplement un 'la classe baseform' à la clause uses et modifier les formulaires de mise en œuvre à partir de:

& nbsp TfrmMyForm = class(TForm)

& nbsp TfrmMyForm = classe(TBaseForm)

Maintenant, chaque formule, vous aurez la possibilité de:

  • Affichage d'une erreur d'une façon cohérente,
  • Afficher un MessageDlg tout en clignotant la fenêtre si pas active.
  • Retour mrCancel si l'utilisateur appuie sur la touche ECHAP sur une boîte de dialogue modale.









La classe baseform classe


La classe baseform classe : Plusieurs milliers de conseils pour vous faciliter la vie.


Avez-vous jamais trouve vous-meme en ajoutant le meme code pour les differentes formes? & nbsp eh Bien maintenant vous pouvez utiliser ce qui suit comme une classe de base pour toutes les formes.

=============== & nbsp & nbsp COMMENCER CODE & nbsp ======================
unite de la classe baseform

interface

utilise SysUtils, Classes, les Formes, Windows

type
& nbsp TBaseForm = class(TForm)
& nbsp protege
& nbsp & nbsp & nbsp fonction IsModal(): Boolean
& nbsp & nbsp & nbsp procedure KeyDown(var Key: Word Shift: TShiftState) remplacer
& nbsp & nbsp & nbsp procedure ShowError(E: Exception)
& nbsp & nbsp & nbsp fonction MsgBox(Msg: string
& ! & ! & ! & ! & nbsp uType: Entier = MB_OK ou MB_ICONSTOP): Integer surcharge
& nbsp & nbsp & nbsp fonction MsgBox(Msg, MsgCaption: string
& ! & ! & ! & ! & nbsp uType: Entier = MB_OK ou MB_ICONSTOP): Integer surcharge
& nbsp fin

la mise en œuvre

utilise des Commandes

{ TPipeCallBaseForm }

la fonction TBaseForm.MsgBox(Msg: string
& nbsp uType: Entier = MB_OK ou MB_ICONSTOP): Integer
begin
& nbsp Resultat := MsgBox(Msg, Legende, uType)
fin

procedure TBaseForm.KeyDown(var Key: Word Shift: TShiftState)
begin
& nbsp herite

& nbsp si ((IsModal) et (GetActiveWindow() = Manche) et (Cle = VK_ESCAPE))
& nbsp & nbsp & nbsp ModalResult := mrCancel
fin

la fonction TBaseForm.MsgBox(Msg, MsgCaption: string
& nbsp uType: Entier = MB_OK ou MB_ICONSTOP): Integer
var
& nbsp FlashInfo: FLASHWINFO
begin
& nbsp si (GetForegroundWindow() <> Poignee)
& nbsp commencer
& nbsp & nbsp & nbsp (* si la fenetre n'est pas active en faire flash pour alerter l'utilisateur *)
& nbsp & nbsp & nbsp FillChar(FlashInfo, SizeOf(FLASHWINFO), 0)
& nbsp & nbsp & nbsp FlashInfo.cbSize := SizeOf(FLASHWINFO)
& nbsp & nbsp & nbsp FlashInfo.dwFlags := FLASHW_ALL ou FLASHW_TIMERNOFG
& nbsp & nbsp & nbsp FlashInfo.hwnd := Poignee
& nbsp & nbsp & nbsp FlashWindowEx(FlashInfo)
& nbsp fin

& nbsp Resultat := MessageBox(Poignee, PChar(Msg), PChar(Legende), uType)
fin

procedure TBaseForm.ShowError(E: Exception)
begin
& nbsp MsgBox(Format ('Erreur: %s'#13#13'Error Classe: %s', [E. Message, E. ClassName]))
fin

la fonction TBaseForm.IsModal: Boolean
begin
& nbsp Result := (fsModal dans FormState)
fin

a la fin.

=============== & nbsp & nbsp CODE de FIN & nbsp ======================

Pour utiliser cette forme de base, vous ajoutez simplement un 'la classe baseform' a la clause uses et modifier les formulaires de mise en œuvre a partir de:

& nbsp TfrmMyForm = class(TForm)

& nbsp TfrmMyForm = classe(TBaseForm)

Maintenant, chaque formule, vous aurez la possibilite de:

  • Affichage d'une erreur d'une façon coherente,
  • Afficher un MessageDlg tout en clignotant la fenetre si pas active.
  • Retour mrCancel si l'utilisateur appuie sur la touche ECHAP sur une boîte de dialogue modale.


La classe baseform classe

La classe baseform classe : Plusieurs milliers de conseils pour vous faciliter la vie.
Recommander aux amis
  • gplus
  • pinterest

Messages récents

Commentaire

Laisser un commentaire

évaluation