begin process at 2010 02 10 09:05:36
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Delphi

 > 

Divers

 > 

Débutant(e)

 > 

A propos des Message Box


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

A propos des Message Box

mercredi 14 juin 2006 à 10:33:29 | A propos des Message Box

Also know as

Membre Club

Bonjour,

Voilà j'ai une petite question vis à vis des Boite de dialogue façon Messagebox.

Voici sa syntaxe sous Delphi :
functionMessageBox(constText,Caption:PChar;Flags:Longint=MB_OK):Integer;

Personnellement, pour quitter et en sachant si le document est enregistré ou pas, j'utilise une variable boolean.
Si celle-ci est à True alors j'affiche le message de ce style :

Messagebox(Handle,'Votre document n''est pas enregistré, souhaitez-vous le faire ?','Document non enregistré', MB_YESNOCANCEL);
Ce qui me donne donc un message tout à fait correct mais sans panneau.

Mais j'ai trouvé ce style de message dernièrement :

Messagebox(Handle,'Votre document n''est pas enregistré, souhaitez-vous le faire ?','Document non enregistré', 51);
Et là j'ai un panneau superbe avec un mt_warning + les boutons Oui, Non et Annuler.
Donc en sorte, un Messagebox plus court plus facile à retenir SI on utilise toujours la même chose, et en prime avec un panneau.

Donc d'ou vient ce 51

J'ai cherché dans l'aide, chaque ID à une valeur bien précise allant de 1 à 7.
Donc si je prend 5 et 1 ca me donne ces deux boutons :

Valeur            Valeur numérique     Signification
IDIGNORE                 5                     L'utilisateur a choisi le bouton Ignorer.
IDOK                          1                     L'utilisateur a choisi le bouton OK.

Mais ce qui pour moi ne me donne que deux boutons, donc je ne comprend pas comment avec juste de nombre on peut avoir autant de précision dans le panneau.

Pourriez-vous éclaire ma lanterne s'il vous plait

Merci d'avance

@+

mercredi 14 juin 2006 à 11:02:49 | Re : A propos des Message Box

exyacc


avec un nombre tu peux etre tres precis, si tu prends que des exp de 2 y'a qu'une maniere de retrouver une combinaison, exemple

1 -> affiche boutton ok
2 -> affiche boutton cancel
4 -> bip
8 -> affiche boutton 1
16 ->affiche boutton 2
32->affiche boutton 3
64->....
128->


maintenant si tu me donnes 51 y'a qu'une maniere de la faire, c'est 32+16+2+1
soit :  boutton 3+ boutton 2 + boutton cancel + boutton ok
exyacc
mercredi 14 juin 2006 à 12:03:40 | Re : A propos des Message Box

japee

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !

Salut,

En fait :
MessageBox(Handle,
           'Votre document n''est pas enregistré, souhaitez-vous le faire ?',
           'Document non enregistré',
           51);

peut s'écrire :
MessageBox(Handle,
           'Votre document n''est pas enregistré, souhaitez-vous le faire ?',
           'Document non enregistré',
           MB_YESNOCANCEL or MB_ICONEXCLAMATION);

ou encore, ce qui explique mieux le "51" :
MessageBox(Handle,
           'Votre document n''est pas enregistré, souhaitez-vous le faire ?',
           'Document non enregistré',
           $00000003 or $00000030);

En effet :
$00000003 or $00000030 = $00000033
ce qui donne en décimal :
3 or 48 = 51

Se reporter à Windows.pas et l'aide en ligne pour complément d'information.

Bonne prog'

japee

mercredi 14 juin 2006 à 13:27:25 | Re : A propos des Message Box

cirec

Membre Club Administrateur CodeS-SourceS
Salut,

et si tu veux pas te souvenir de toutes les possibilitées (et il y en a un paquet)
je te propose un expert de code : http://www.delphifr.com/code.aspx?ID=33820

toutes les options y sont :
allignement à gauche à droite icônes perso
messages perso
avec checkbox et/où boutons perso
toutes les combinaison de bouton
avec choix du bouton par défaut
choix du son
etc.etc....

et le code résultant de la création de la boite de dialogue (MessageBox, MessageDlg, MessageDlgEx)
et insérer directement dans ton code source à l'emplacement du curseur

@+
Cirec
mercredi 14 juin 2006 à 15:33:53 | Re : A propos des Message Box

f0xi

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
beurk ...


if MessageDlg('voulez vous sauver votre travail ?', mtConfirmation, [mbYes,mbNo],0) = mrYes then
   ....SaveToFile(FileName);




Cette discussion est classée dans : message, document, messagebox, panneau, enregistré


Répondre à ce message

Sujets en rapport avec ce message

problème de MessageBox [ par eowene ] Bonjour à tous.Ce que je veux faire parrait simple mais pour moi, ça ne lest pas.Voilà, j'ai une feuille sur laquelle il y a un bouton. Ce bouton appe Comment choper le message XP qui correspond a l'extinction [ par JulioDelphi ] helloje chch a savoir comment (sous xp) connaitre le moment ou xp s'eteint (pour ensuite faire ejecter le cd rom)mercimerci :D base de donnee access [ par khal_dou75 ] par fois un message survenu lorsque j'appel la metode Edit pour une table de base de donne access le message d'erreur est "enregitrement/cle effacé"s Renseignement [ par LOKMANE ] Je suis un developpeur debutant et je suis en cours de réaliser un logiciel pour la gestion commercial.Je rencontre un grand probléme decrit par un me WebBrowser HELP ! [ par globule ] Bonjour,J'utilise le composant WebBrowser pour naviguer sur une page HTML.Cette page fait apparaître un messageBox JAVA. Je voudrais que mon WEBBROWS WebBrowser, Excel et interception message [ par Paraglider ] Bonjour tout le monde,(Delphi 6)J'affiche une page htm dans un WebBrowser. Sur cette page un lien qui m'ouvre un fichier Excel. Si je modifie le fichi Sockets: Message d'erreur!!! [ par atupac1 ] Salut,je veux monter une connexion entre 2 sockets en client/serveur trés simple.Le message d'erreur est le suivant: L'envoi ou la réception est impos intercepter le message du clavier ! [ par Swop ] Bon, le sujet à surement déja été évoqué, mais j'ai passé ma nuit dessus et j'ai rien trouvé ...Serai-til possible, en ayant le focus sur mon appli, d detection des nouveaux messagex avec POP [ par dahman ] salutj ai un probleme de detection des nouveaux messages avec le pop3 les propriete de IDPOP ne permet que de savoir le nombre de messages.(c'est ce q Comment afficher un message sur un Tchart? [ par seni ] Bonjour,je voudrais afficher une string a un endroit precis de mon graph en passant en parametre l'abcisse et l'ordonnee par ex. J'ai essaye la foncti


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,296 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales