IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

Dialog pour réaliser un input de text


Sujet :

Windows

  1. #1
    Membre émérite
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Février 2004
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Février 2004
    Messages : 644
    Par défaut Dialog pour réaliser un input de text
    Bien que le MessageBox se trouvant dans user32.dll, existe-t-il une fonction permettant d'ouvrir une dialog pour récupérer une chaine de caractères ?

  2. #2
    Membre éclairé
    Avatar de buzzkaido
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2004
    Messages
    821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2004
    Messages : 821
    Par défaut
    Un petit up, paske ça m'interesse aussi...

  3. #3
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 393
    Par défaut
    À ma connaissance, il n'en existe pas.
    Les Common Dialogs (comdlg32.dll) sont généralement plus complexes (choix d'un fichier, choix d'une couleur) et je ne crois pas qu'il y a un simple input de texte dans le lot...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  4. #4
    Membre éclairé
    Avatar de buzzkaido
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2004
    Messages
    821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2004
    Messages : 821
    Par défaut
    C'est bien dommage !

    Et sans utiliser les MFC, est-il possible de construire une telle boite de dialogue ?

  5. #5
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 393
    Par défaut
    Oui. Tu peux la construire en ressources, ou carrément utiliser un DLGTEMPLATE ou DLGTEMPLATEEX en mémoire.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  6. #6
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 393
    Par défaut
    À moins d'avoir quelque chose de prêt, il ne sera pas facile de créer une telle boîte de dialogue sans fichier de ressources. Si utiliser un fichier de ressources te convient, tu peux ignorer ce post.

    Si tu es bon en C++ et que tu comprends les templates, tu peux essayer avec les templates que j'ai posté dans ce thread:
    http://www.developpez.net/forums/sho...d.php?t=202501

    Malheureusement, c'est assez horrible et j'ai oublié de fournir un exemple d'utilisation. En voici un pour une boîte de dialogue avec un simple "static text" dedans :
    Code C++ : 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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    static struct st_waitDlog
    {
    NsFredUtil::t_dialogTemplateExWithFontHolder< 1, 1, 22, NsFredUtil::MS_SHELL_DLG__SIZE > dlg;
    NsFredUtil::t_dialogItemTemplateExHolder< 2, 8 > item1;
    } g_waitDlog = {
    	{{ //dlg: t_dialogTemplateExHolder, tpl: t_dialogTemplateEx
    		{ //header: ST_DLGTEMPLATEEXHEADER
    		 1, 0xFFFF,
    		 0L, 0L, DS_SETFONT | DS_MODALFRAME | DS_NOFAILCREATE | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE,
    		 1,
    		 0, 0, 135, 46 },
    		{ 0x0000 },
    		{ 0x0000 },
    		L"Veuillez patienter...",
    		{ {8, FW_NORMAL, 0, DEFAULT_CHARSET}, L"MS Shell Dlg" }
    	}},
    	{{ //item: t_dialogItemTemplateExHolder, tpl: t_dialogItemTemplateEx
    		{ //header: ST_DLGITEMTEMPLATEEXHEADER
    		 0L, 0L, WS_CHILD | SS_CENTER | WS_VISIBLE,
    		 7,7,120,19,
    		 IDC_TEXT, 0 },
    		{ 0xFFFF, 0x0082 },
    		L"(texte)",
    		0
    	}}
    };
     
    //Et ça s'utilise ainsi pour CreateDialog() :
    HWND hDlg = CreateDialogIndirectParam(
     GetModuleHandle(NULL), reinterpret_cast< LPDLGTEMPLATE >(&g_waitDlog), 
     hParent, DialogProc, reinterpret_cast< LPARAM >(sczTexte)
     );
    //Il est assez facile de faire un DialogBoxIndirect() à la place.
    Les templates utilisés prennent uniquement des chiffres en paramètres, qui sont des tailles. En effet, les données en mémoire comportent des structures à taille variable, donc...
    Pour faire une boîte de dialogue qui demande du texte, il faudrait rajouter un Edit et un bouton OK. Donc, rajouter deux t_dialogItemTemplateExHolder dans la structure et les initialiser avec les bonnes valeurs.
    Le mieux, c'est d'avoir la doc des DLGTEMPLATEEX et DLGITEMTEMPLATEEX sous les yeux...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  7. #7
    Membre éclairé
    Avatar de buzzkaido
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2004
    Messages
    821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2004
    Messages : 821
    Par défaut
    Je vais fouiller cela...

    Merci pour tout !

Discussions similaires

  1. [1.x] (in)compatibilité entre ie6 et firefox pour les input type text
    Par sab_etudianteBTS dans le forum Symfony
    Réponses: 1
    Dernier message: 07/11/2008, 13h51
  2. Réaliser un bouton pour cacher une partie de texte
    Par claudieau dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 04/01/2008, 21h13
  3. [HTML] Firefox vs IE pour les <input type="text">
    Par sebos63 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 20/06/2007, 16h22
  4. Pb Mozilla (recup valeur pour remplir champ input text)
    Par seb92 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 29/03/2007, 11h01
  5. Réponses: 4
    Dernier message: 30/05/2006, 00h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo