Hello!
Je dois réaliser une application en trois langues et pour des facilités d'utilisation, j'utilise la fonction MessageDlg.
Le problème, c'est que la langue des boutons reste fixée en français.
Comment faire ?
Merci pour vos réponses.
Hello!
Je dois réaliser une application en trois langues et pour des facilités d'utilisation, j'utilise la fonction MessageDlg.
Le problème, c'est que la langue des boutons reste fixée en français.
Comment faire ?
Merci pour vos réponses.
Salut,
Avec les MessageDLG et ShowMessage, ce n'est pas possible (la langue du système où tu compile est prise en compte pas celle du poste où ton application des utilisée).
Il faut (sauf si je me trompe) utiliser un MessageBox.
A+,
Seb.
Avant de poser votre question merci de regarder :
La FAQ Delphi (430 Questions / Réponses)
ou les cours et tutoriels Delphi.
mais avec message dialog tu utilise les dialog system c pour cela que la langue reste tjr en francais, et elle deviendra en anglais quan tu passera à winAnglais ... et ainsi de suite ...
cependant avec une petite bidouille tu peux changer la langue de n'importe quel bouton ...
je te donne un exemple de code que j'avais fait pour créer ma propre DialogBox budouillée pour changer les bouton actif par défaut et leur titre ... je l'ai adapté vite fait pour toi et je l'ai pas essayé ... mais normalement ca devrai marcher ...
cependant cette manière de faire sent la bidouille .. l'idéal est de se créer soit meme carrément un DLG Box avec ressource que l'on charge selon la langue choisie par l'utilisateur !!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 function CustomMessageDialog(const Msg: string; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons ): Word; const ModalResults: array[TMsgDlgBtn] of Integer = (mrYes, mrNo, mrOk, mrCancel, mrAbort, mrRetry, mrIgnore, mrAll, mrNoToAll, mrYesToAll, 0); var frmDlgBox : TForm; i : integer; begin frmDlgBox := CreateMessageDialog(Msg,DlgType, Buttons); try for i:= 0 to frmDlgBox.ControlCount-1 do begin if (frmDlgBox.Controls[i] is TButton) then begin // tu fait ce que tu veux du bouton ici ... if TButton(frmDlgBox.Controls[i]).ModalResult = mrYes then TButton(frmDlgBox.Controls[i]).Caption := 'TonTitreAnglais pour Yes/Oui'; end; end; result := frmDlgBox.ShowModal; finally frmDlgBox.release; end; end;
Cher Seb_666, je te remercie pour ta suggestion.
Avec le Composant MessageBox,on peut changer la langue du titre de la boite de message, le texte mais pas la langue des boutons.
Merci beaucoup BlueX_scf !
J'ai testé ta méthode et elle marche à merveille.
Merci à vous deux: c'était très sympa de m'avoir répondu aussi vite.
A bientôt.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager