begin process at 2010 02 10 07:13:18
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > MESSAGEDLG AVEC UNE CHECKBOX ET BOUTONS PERSO ET ICÔNE PERSO

MESSAGEDLG AVEC UNE CHECKBOX ET BOUTONS PERSO ET ICÔNE PERSO


 Information sur la source

Note :
8,67 / 10 - par 3 personnes
8,67 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Divers Classé sous :messagebox, messagedlg, personnalisé Niveau :Débutant Date de création :18/10/2005 Vu / téléchargé :5 613 / 870

Auteur : cirec

Ecrire un message privé
Commentaire sur cette source (14)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
En réponse à des questions posées

Afficher une MessageDlg avec une CheckBox

et je n'ai pas pu résister à ajouter d'autres Options...

- Choix du Bouton par défaut
- Choix d’une Icône autre que les quatre habituels
- Choix de quatre boutons personnalisables [mbCust1..mbCust4]
- Et pour finir une ombre autour de la boite (XP uniquement)


Bien sûr vous pouvez combiner les boutons d’origine avec les Perso

Ex de boite classique:
MessageDlgEx('Une Boite simple', mtConfirmation, [mbOk, mbYes, mbNo], 0)

Ex de boite avec choix du bouton par défaut:
MessageDlgEx('Une Boite simple', mtConfirmation, [mbOk, mbYes, mbNo], 0, mbNo)

Ex de boite avec choix du bouton par défaut et Icône Perso:
MessageDlgEx('Une Boite simple', mtPerso, [mbOk, mbYes, mbNo], 0, mbNo, Application.Icon)

Ex de boite avec choix du bouton par défaut et Icône Perso et bouton Perso:
Var BtnPerso : PCustBtnText;
New(BtnPerso) ;
  BtnPerso [mbCust1] := 'Hello';
  BtnPerso [mbCust4] := 'ça Gaz ?';
MessageDlgEx('Une Boite simple', mtPerso, [mbOk, mbYes, mbNo, mbCust1, mbCust4], 0, mbNo, Application.Icon, BtnPerso)

La gestion des Boutons se fait comme toujours (mrOk, mrYes,mrCust1,mrCust4)


Ex de Boite Complète :
Var db : TMsgDlgParams;
    Rslt : Integer; // Utile pour récupérer la touche presser et la CheckBox
begin
   With db Do
   Begin
    CheckBox        := True;
// Si vous ne mettez pas de texte il en a un par défaut
    BoxCaption      := 'Ne plus me montrer cette Boite si non je me fâche';
    StrRessource    := 'c:\Windows\System32\Shell32.dll';
    lpszText        := 'Si vous aimez cette Boite dites le moi ';
// Le titre de la boite ne s’affiche qu’en Mode mtPerso
    lpszCaption     := 'Une Boite Perso';
    DlgType         := mtPerso;
    DlgBtn          := [mbYes, mbNo, mbCust1, mbCust2, mbCust3, mbCust4];
    DefaultBtn      := mbCust2;
    IconNbr         := 19;
    dwContextHelpId := 0;
    CustBtnText[mbCust1] := '&Bonjour';
    CustBtnText[mbCust2] := '&Amis Delphiste';
    CustBtnText[mbCust3] := 'Exemple';
    CustBtnText[mbCust4] := 'de Boite &Perso';

   End;
Rslt :=  MsgDlgBox(db);

Rslt contient dans la partie basse (LoWord(Rslt)) la touche presser
Et dans la partie haute (HiWord(Reslt)) sous forme d’entier (0 où 1, Faux où Vrai) la CheckBox


Le point Noir, bah vi  il y en a un, si vous utilisez MessageDlg dans votre Code il Faudra le
Remplacer par MessageDlgEx si non ça ne marche pas :( 


Voilà j’espère que ça va vous plaire.
Il y a certainement encore des améliorations à apporter.
Donnez moi vos impressions, remarques, suggestions et autres

Le reste est dans le Zip avec un petit prog pour Exemple



 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture BITMAP 32BITS INTÉGRÉ À LA VCL (TIMAGE, TPICTURE, TBITMAP, T...
Source avec Zip Source avec une capture [ASTUCE] COMMENT VOIR UN ITEM, D'UNE LISTBOX, TRONQUÉ DANS U...
Source avec Zip Source avec une capture TEXTE GRAPHIQUE AVEC CONTOUR, OMBRE ET TEXTURE EN API VERSIO...
Source avec Zip Source avec une capture TEXTE GRAPHIQUE AVEC CONTOUR, OMBRE ET TEXTURE EN API
Source avec Zip Source avec une capture ROTATION (RAPIDE) DE BITMAP (À 360°) EN PUR GDI

 Sources de la même categorie

Source avec Zip Source avec une capture LOGICIEL DE DIAGNOSTIC AUTOMOBILE KWP2000 par Oniria
Source avec Zip Source avec une capture RÉGLE TRANSPARENTE POUR MESURER UN OBJET ECRAN par dubois77
Source avec Zip Source avec une capture LE BOOK DU PAUVRE par dubois77
Source avec Zip Source avec une capture CAHIER 90 PAGES par dubois77
Source avec Zip Source avec une capture TABLEAU DE BOUTONS DYNAMIQUES (AGENDA) par dubois77

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture MESSAGEDLG PERSONNALISÉ par HAFTARIFOUAD
Source avec Zip Source avec une capture MESSAGEDLG AVEC CHOIX DE LA LANGUE par cirec
Source avec Zip Source avec une capture MESSAGEBOX MESSAGEDLG EXPERT DE CODE NOUVELLE VERSION (MISE... par cirec
Source avec Zip MESSAGEDLG AVEC CHOIX DU BOUTON QUI A LE FOCUS par djiki
Source avec Zip Source avec une capture UTILISATION DU COMPOSANT TDRAWGRID par Delphiprog

Commentaires et avis

Commentaire de stu76 le 19/10/2005 08:44:06

Sympa ton source, surtout pour un débutant. Ton application sera toujours utile, je te souhaite une bonne continuation et une bonne prog.


@+

Stu76

Commentaire de cirec le 19/10/2005 10:55:32 administrateur CS

Merci beaucoup Stu76,
je suis content que ça vous plaise.
Prochainement DialogEx sera Inclus dans l'Expert de MessageBox
http://www.delphifr.com/code.aspx?ID=33820
@+
Cirec

Commentaire de japee le 23/10/2005 15:09:40 administrateur CS

stu76, je comprends que tu est débutant en programmation, mort de rire ;)... bisous au petit bonhomme sur la photo !

Sinon, pour cirec, je dirai que ton source est intéressant et utile.

Il me parait cependant indispensable de recadrer le propos de stu76 : si ce source s'adresse éventuellement à des débutants, il n'est cependant pas l'oeuvre d'un débutant.

Commentaire de stu76 le 23/10/2005 15:20:37

Désolé Japee, j'ai cru que cirec était débutant simplement par ce que son source était classé dans le niveau débutant. Maintenant je ne veux blèser personne. Son source peut-être améliorer sans discussion mais déjà comma ça c'est déjà du bon boulot.

Sans rancune,

Stu76

Commentaire de cirec le 23/10/2005 20:20:30 administrateur CS

Merci Japee, ton commentaire me fait plaisir, ça donne envie de continuer dans cette voie.

L'unité DialogEx est encore toute jeune (un peut comme Stu76 sur la photo... mdr) et donc il y a forcément encore des améliorations à apporter.
Certaines déclarations peuvent sembler inutiles pour l'instant mais elles sont là pour une utilisation dans l'expert de MessageBox d'on je prépare la dernière mise à jour, qui sera disponible prochainement ici: http://www.delphifr.com/code.aspx?ID=33820

Je suis ouvert à toutes suggestions, remarques, bugs où autres...    

Rassures toi Stu76
"Aucun animale n'a été blessé durent la lecture des commentaires" :-)

Voilà
@+ Cirec

Commentaire de cirec le 26/10/2005 12:13:37 administrateur CS

Bonjour Stu76
J’aimerais bien que tu développes :
Son source peut-être améliorer sans discussion...
S.V.P Merci.

@+
Cirec

Commentaire de cirec le 26/10/2005 12:14:10 administrateur CS


Avis à tous.
Les sources sont déposées sur ce site pour que vous
puissiez les évaluer et même les utiliser dans vos  applications. En revanche les auteurs n'attendent qu'une chose de ces dépôts de sources, c'est d'avoir vos impressions, suggestions et vos rapports sur des bugs éventuels.

Tout ça pour dire que j'ai l'impression que de plus en plus de comportements individualiste (télécharger et plus rien) se développe sur ce site ce qui ne peut que nuirent au dépots future de codes.

Je pense que le but premier de ce site c'est un échange de connaissances et de compétences entre développeurs, mais si je me trompe dite le moi.

J'espère n'avoir froissé personne
(Au cas ou désolé se n'était pas mon intention)

Amicalement
@+
Cirec

Commentaire de stu76 le 26/10/2005 20:44:16

Salut Cirec,

Je suis du même avis que toi, même si je n'ai pas encore déposé de source (le premier va arriver d'ici peu), pour ton source honnêtement je l'ai montré à un ami qui est très balaise en progammation et m'a dit que c'est très bon, il avait relevé quelque petit truc qui pouvait-être améliorer. Maintenant moi je ne connais pas assez les objets Dialogue que pour être une critique fiable (je lui demanderais quoi et t'enverais le tout par mail). Toujour est-il que je compte utilisé une boîte dialogue de ton application (Cerise sur le gateau). Je pense devoir modifier quelque peu celle-i, tu seras bien entendu le premier averti.

Maintenant, je pense effectivement que le faite de donner son avis sur un source est très important car c'est ainsi que l'on évolue. Lorsque j'aurais mis mon premier source ce site j'éspère bien avoir des commentaires et des critiques qui seront bien entendu constructive.

A bientôt,

@+

Stu76

Commentaire de cirec le 28/10/2005 12:22:18 administrateur CS

Bonjour Stu76,

je suis content de constater que tu es du même avis que moi et j'attend avec impatience de tes nouvelles.

Merci et @+
Cirec

Commentaire de Stephane_menard le 11/05/2006 15:45:06

Salut,

je suis à la bourre pour dire merci, mais comme ce petit programme fait exactement ce que je veux, c'est à dire une boîte de dialogue avec texte des boutons paramétrables et case à cocher, et bien un grand merci.

Commentaire de cincap le 26/01/2009 11:38:10

Bonjour à toutes et à tous,

@ Cirec, Peut être tard,avec D6, j'ai un bug avec ta démo.

Erreur :
*****
[Erreur] DialogEx.pas(537): Identificateur non déclaré : 'CheckWin32Version'
[Erreur] DialogEx.pas(539): Identificateur non déclaré : 'CS_DROPSHADOW'
[Avertissement] DialogEx.pas(539): Combinaison de types signés et non signés -

opérandes agrandis
[Erreur fatale] Unit1.pas(7): Impossible de compiler l'unité utilisée 'DialogEx.pas'
*****

@+,

Cincap

Commentaire de cirec le 26/01/2009 13:33:18 administrateur CS

Bon faudrait peut être penser à changer de version de Delphi !!!

J'en suis à Delphi2009 ... alors produire un code compatible avec les anciennes versions devient de plus en plus difficile surtout à partir de D6 et en dessous. Je ne dispose pas de toutes les versions de Delphi ;)

Je rappel au passage qu'un TurboDelphi 2006 (Gratuit) existe

J'ai plus de D6 donc essaye avec ceci:

function CheckWin32Version(AMajor: Integer; AMinor: Integer = 0): Boolean;
begin
  Result := (AMajor < Win32MajorVersion) or
            ((AMajor = Win32MajorVersion) and
             (AMinor <= Win32MinorVersion));
end;



et:
const
  CS_DROPSHADOW = $00020000;

Commentaire de cincap le 26/01/2009 13:52:54

Salut, comment va ?

J'avais déjà neutraliser ceci

{if CheckWin32Version(5, 1) then
    WindowClass.Style := (WindowClass.Style Or
      CS_DROPSHADOW); }

Et cela fonctionne.

Très très bien.

@+,

Cincap

Commentaire de cirec le 26/01/2009 15:36:44 administrateur CS

oui tu te prives de l'ombre c'est tout ;)

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

MessageBox_HiA [ par DelphiCool ] HelloSi quelqu'un à envie de l'essayerc'est un Soft qui creer le code Delphi pour les MessageBoxIl est Visuel, vous tester votre MessageBox avant de c MessageBox [ par jia2812 ] Salut!...Ça va peut-être vous faire rire mais bon "Qui ne tente rien n'a rien!..." Alors, voilà, si je comprends ps trop mal Delphi car ça ressemble 1 Mettre un message sur plusieurs lignes dans un messagedlg ? [ par Technoman ] Comment fait-on pour passer à la ligne dans un messagedlg ?? Merci. Titre des messagedlg [ par Jos ] Est-il possible de définir le titre des messagedlg?Merci MessageBox [ par ak47 ] salut,Je voudrais ajouter une boite de dialogue a mon programme pour qu'elle demande à l'utitlisateur si il veux vraiment quitter le programme ( il re TextEdit dans un messagebox [ par magicvinni ] Bonjour, J'ai un bouton "renomer" et quand on clique dessus, je voudrais qu'une fenetre type messagebox apparaisse avec un textedit pour entrer le n KYLIX 3 ET MessageDlg [ par barbulille ] salut, voila le pb, quand je teste:if MessageDlg('Mon Message', mtWarning, mbYesNo, O)= mrNo then...le compilatuer me dit que l'identificateur mrNo n' Ini => MessageBox [ par kanigou ] Voila, ce que je voudrais faire c'est mettre une valeur d'un string dans une MessageBox ... Ini := TiniFile.Create('fichier.ini'); v := Opérateurs sur type personnalisé [ par YS1 ] Bonjour.J'ai créé un type personnalisé (type record), et je voudrais pouvoir définir des opérateurs travaillant avec ce type (il s'agit d'un type numé Probleme de MessageDlg qui disparaissent derriere la form principal sous XP [ par Lassal ] Bonjour bonjour !!Voila comme le titre l'indique, depuis que nous sommes sous XP dans notre boite, on a des problemes avec les MessageDlg qui se cache


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,952 sec (4)

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