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 :

probleme edit box


Sujet :

Windows

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 11
    Points : 7
    Points
    7
    Par défaut probleme edit box
    bonjour à tous, j'ai un souci concernant les editbox je vais essayer d'être assez clair.
    Dans mon programme je crée une editbox comme suit :

    case WM_CREATE :
    edit_emissivity = CreateWindow("edit",
    "100", WS_CHILD | WS_VISIBLE | WS_BORDER,
    210,390,60,30,
    hwnd,
    0,
    hInst, NULL);
    Et je souhaite récupérer la valeur de cette editbox grace à ces ligne :

    case IDB_CHANGE_EMISSIVITY:
    KillTimer(hwnd,1) ;
    SendMessage(edit_emissivity, WM_GETTEXT, 256, (LPARAM)char_emissivity);
    change_emissivite() ;
    break ;
    Cela fonctionne très bien mais quand dans mon appli j'utilise un timer pour faire autre chose et que je veux changer l'emissivity la chaine char_emissivity se rempli toujours avec la valeur 100.

    Pourriez vous m'expliquez d'où cela viens ? Merci

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 518
    Points
    41 518
    Par défaut
    Au passage, je parie que char_emissivity est un tableau de char au lieu d'un tableau de TCHAR ?

    Pourquoi te fatiguer à utiliser WM_GETTEXT, qui nécessite un cast, alors que tu peux utiliser tout simplement GetWindowText() ?

    Ou même, s'il est question de nombres, GetDlgItemInt() ?
    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.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    char_emissivity est bien un tableau de char, je l'est donc changé en TCHAR (mais qu'est ce donc que ce type ?).
    j'ai déjà essayé avec GetwindowText mais sans succés.

    je tiens à rappeler que les SendMessage dans mon programme fonctionnent mais uniquement jusqu'à ce que j'utilise un timer.

    Pour récuperer la valeur de l'edit je tu le timer, j'initialise char_emissivity avec un memset, et quand je récupère l'edit c'est la valeur qu'il y avait lors de sa creation qui se retrouve dans char_emissivity.

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 518
    Points
    41 518
    Par défaut
    Si l'edit n'a pas été modifié, c'est normal.
    Mais si j'ai bien compris, tu laisses l'utilisateur modifier l'edit et tu récupères périodiquement sa valeur avec un timer ??
    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.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    en fait le timer est utilisé dans une autre partie du programme qui n'a rien a voir avec la récupération de l'émissivité.
    Je modifie bien ce qu'il y a dans l'edit mais la valeur retourné est celle de création de l'edit.

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 518
    Points
    41 518
    Par défaut
    Pourrais-tu uploader un projet minimal qui montre le problème ?
    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
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    Je te remercie pour ton aide Medinoc, cela fonctionne avec GetDlgItemInt(), par contre je ne sais tuojours pas pourquoi sendMessage et GetWindowText ne fonctionnent pas.

Discussions similaires

  1. Ajouter du texte dans une edit box
    Par raf_gug dans le forum MFC
    Réponses: 10
    Dernier message: 23/05/2013, 10h00
  2. un probleme avec L'Edit Box
    Par rayden1tn dans le forum MFC
    Réponses: 2
    Dernier message: 06/01/2008, 22h55
  3. Probleme de mise à jour de mes Edit Box
    Par bibi_64 dans le forum MFC
    Réponses: 2
    Dernier message: 02/11/2005, 22h49
  4. CSliderCtrl et Edit box liés
    Par pi05 dans le forum MFC
    Réponses: 4
    Dernier message: 28/04/2005, 11h19
  5. Réponses: 9
    Dernier message: 15/09/2004, 21h35

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