Bonjour !
Le présent exemple permet de connaître la procédure à suivre pour avoir un message dialogue personnalisé. Pour bien éclairer, lorsqu?on veut changer un message de confirmation avec deux boutons [Oui, Non] par [Espèce, Chèque]. Dans ce cas on doit chercher les boutons puis de changer leurs captions?
Le travail à la main est subdivisé en quatre parties ;
- La 1ère montre comment modifier un seul bouton ;
- La 2ème montre comment modifier deux boutons ;
- La 3ème montre comment modifier trois boutons ;
- Et la 4ème est un exemple permettant de montrer comment créer un bouton dynamique puis de l?afficher dans notre message.
A la fin, j?espère que cet exemple vous sera utile dans vos travaux et vos recherches.
Bonne chance et plein de succès à tout le monde.
N.B.:.
Pour ceux qui sont intéressés par un gestionnaire de stock et de facturation une version de démonstration est disponible sur le lien suivant :
http://www.zshare.net/download/534788950f1849b1/
Bonne chance à tous ...
Source / Exemple :
unit AFirstPage;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
GB1: TGroupBox;
EButton1: TEdit;
BButton1: TButton;
LButton1: TLabel;
EMessage1: TEdit;
LMessage1: TLabel;
LTitre1: TLabel;
ETitre1: TEdit;
GB2: TGroupBox;
LButtonYES2: TLabel;
LMessage2: TLabel;
LTitre2: TLabel;
EButtonYES2: TEdit;
BButton2: TButton;
EMessage2: TEdit;
ETitre2: TEdit;
EButtonNO2: TEdit;
LButtonNo2: TLabel;
GB3: TGroupBox;
LButtonYES3: TLabel;
LMessage3: TLabel;
LTitre3: TLabel;
LButtonNo3: TLabel;
EbuttonYES3: TEdit;
BButton3: TButton;
EMessage3: TEdit;
ETitre3: TEdit;
EbuttonNo3: TEdit;
LButtonCancel3: TLabel;
EButtonCancel3: TEdit;
GB4: TGroupBox;
BButton4: TButton;
procedure BButton1Click(Sender: TObject);
procedure BButton2Click(Sender: TObject);
procedure BButton3Click(Sender: TObject);
procedure BButton4Click(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.BButton1Click(Sender: TObject);
var
MsgDialogOk: TForm; // Identifier la variable MsgDialogOk
begin
{ Créer le message avec un seul bouton oui
Vous avez droit de modifier l'image de message soit :
En modifiant le type de message; mtError, mtConfirmation,...
par l'ajoute d'une TimageList et d'ajouter ce code avant ShowModal}
// TImage(FindComponent('Image')).Transparent := True;
// ImageList1.GetBitmap(0, TImage(Findcomponent('Image')).Picture.Bitmap);
MsgDialogOk := CreateMessageDialog(EMessage1.Text, mtWarning,[mbYES]);
with MsgDialogOk do
try
// Changer le titre de Message
Caption := ETitre1.Text;
// Modifier le text de boutton oui
TButton(FindComponent('Yes')).Caption := EButton1.Text;
// Modifier l'apparence de message avec l'annimation
AnimateWindow(Handle, 500, AW_CENTER);
// Définir la position de message
Position := poScreenCenter;
// Afficher le message
ShowModal;
finally
// Libérer la mémoire
Free;
end;
end;
procedure TForm1.BButton2Click(Sender: TObject);
var
MsgDialogYESNO: TForm; // Identifier la variable MsgDialogOk
begin
{ Créer le message avec deux boutons oui et non
Vous avez droit de modifier l'image de message soit :
mtError, mtConfirmation,...
par l'ajoute d'une TimageList et d'ajouter ce code avant ShowModal}
// TImage(FindComponent('Image')).Transparent := True;
// ImageList1.GetBitmap(0, TImage(Findcomponent('Image')).Picture.Bitmap);
MsgDialogYESNO := CreateMessageDialog(EMessage2.Text, mtWarning,[mbYes, mbNo]);
with MsgDialogYESNO do
try
// changer le titre de Message
Caption := ETitre2.Text;
// Modifier le text de boutton oui
TButton(FindComponent('Yes')).Caption := EButtonYES2.Text;
// Modifier le text de boutton non
TButton(FindComponent('No')).Caption := EButtonNO2.Text;
// Modifier l'apparence de message avec l'annimation pour + d'info vésitez http://delphipage.free.fr/astuces/animatewindow.html
AnimateWindow(Handle, 500, AW_CENTER);
// Définir la position de message
Position := poScreenCenter;
// Afficher le message
ShowModal;
finally
// Libérer la mémoire
Free;
end;
end;
procedure TForm1.BButton3Click(Sender: TObject);
var
MsgDialogYESNOCANCEL: TForm; // Identifier la variable MsgDialogOk
begin
{ Créer le message avec trois boutons oui, non et annuler
Vous avez droit de modifier l'image de message soit :
mtError, mtConfirmation,...
par l'ajoute d'une TimageList et d'ajouter ce code avant ShowModal}
// TImage(FindComponent('Image')).Transparent := True;
// ImageList1.GetBitmap(0, TImage(Findcomponent('Image')).Picture.Bitmap);
MsgDialogYESNOCANCEL := CreateMessageDialog(EMessage3.Text, mtWarning,[mbYes, mbNo,mbCancel]);
with MsgDialogYESNOCANCEL do
try
// changer le titre de Message
Caption := ETitre3.Text;
// Modifier le text de boutton oui
TButton(FindComponent('Yes')).Caption := EButtonYES3.Text;
// Modifier le text de boutton non
TButton(FindComponent('No')).Caption := EButtonNO3.Text;
// Modifier le text de boutton annuler
TButton(FindComponent('Cancel')).Caption := EButtonNO3.Text;
// Modifier l'apparence de message avec l'annimation pour + d'info vésitez http://delphipage.free.fr/astuces/animatewindow.html
AnimateWindow(Handle, 500, AW_CENTER);
// Définir la position de message
Position := poScreenCenter;
// Afficher le message
ShowModal;
finally
// Libérer la mémoire
Free;
end;
end;
procedure TForm1.BButton4Click(Sender: TObject);
var
MsgDialogOk: TForm; // Identifier la variable MsgDialogOk
MsgButton:TButton; // Identifier la variable MsgDialogOk
begin
//Créer le button Msgbutton
MsgButton:=TButton.Create(Nil);
MsgButton.Caption:='Terminer';
// Créer le message avec Qutre bouttons Yah Lala Casse toi et terminer
MsgDialogOk := CreateMessageDialog('Votre Message', mtWarning,mbYESNOCancel);
with MsgDialogOk do
try
// changer le titre de Message
Caption := '';
// Modifier le text de boutton oui
TButton(FindComponent('Yes')).Caption := 'yah';
// Modifier le text de boutton non
TButton(FindComponent('No')).Caption := 'Lala';
// Modifier le text de boutton oui
TButton(FindComponent('Cancel')).Caption := 'Casse toi';
// Afficher le boutton qu'on a crée dans notre message
MsgButton.Parent:= MsgDialogOk;
MsgButton.Left:=215;
// Pour avoir les même dimentions avec les autres boutons
MsgButton.Height:=TButton(FindComponent('Yes')).Height;
MsgButton.Width:=TButton(FindComponent('Yes')).Width;
MsgButton.Top:=TButton(FindComponent('Yes')).Top;
// Modifier l'apparence de message avec l'annimation
AnimateWindow(Handle, 500, AW_CENTER);
// Définir la position de message
Position := poScreenCenter;
// Afficher le message
Width := 300;
ShowModal;
finally
// Libérer la mémoire
Free;
end;
end;
end.
Conclusion :
Toute intervention, question, critique dans le sens d?améliorer le travail sont bienvenus.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.