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

MFC Discussion :

[DEBUTANT][probleme header] Button changer le texte (caption)


Sujet :

MFC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif Avatar de magnus2005
    Profil pro
    Ingenieur SI
    Inscrit en
    Avril 2005
    Messages
    454
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingenieur SI

    Informations forums :
    Inscription : Avril 2005
    Messages : 454
    Par défaut [DEBUTANT][probleme header] Button changer le texte (caption)
    Pour les GUI je viens de Java (c est pour placer le contexte)
    J ai dans mon interface un bouton dont l'ID est IDOK.

    Je souhaite modifier le texte au cours du runtime.

    J'ai trouvé plusieurs tentatives de reponse dans ce forum mais je ne parviens pas à trouver une coherence dans les reponses.
    Je souhaite acceder à ce bouton.
    Je souhaite recuperer le pointeur sur cet objet pour en l'occurence modifier son texte.

    Je suis allé sur le MSDN, sur developpez.net
    Je n'ai pas trouvé d information qui allait dans ce sens.

    J ai essaye avec des SetDlgItem et plein d autre mais de mon point de vue il n y a pas de tutoriaux qui explique le pourquoi du comment. Pire ils se contredisent tous.
    Sachant que ce que je veux faire est sensé être du domaine de l'hyper basique, je suis assez desapointé.

    A votre bon coeur
    (je suis en train de lire demarrer-mfc-vc6 qui me semble bien complet je vais peut être trouver mon bonheur quand j aurais fini de le lire mais comme il est sur VS 6.0 je retrouve pas forcement tous mes petits)
    [je suis sous VISUAL Studio 2005 ]

  2. #2
    Membre éclairé
    Inscrit en
    Février 2006
    Messages
    256
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 256
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ((CButton*)GetDlgItem(IDOK))->SetWindowText("Nouveau texte");
    Ou encore:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    CButton *m_button;
    m_button=(CButton*)GetDlgItem(IDOK);
    m_button->SetWindowText("etc.");

  3. #3
    Membre très actif Avatar de magnus2005
    Profil pro
    Ingenieur SI
    Inscrit en
    Avril 2005
    Messages
    454
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingenieur SI

    Informations forums :
    Inscription : Avril 2005
    Messages : 454
    Par défaut
    Merci c est une des solutions que j ai essayé :
    Voici un de mes soucis
    j ai bien la function GetDlgItem mais elle prend un HWND en premier parametre alors je lui donne le HWND qui recupere l event de bouton
    ensuite je fais un cast et
    j ai setWindowText n est pas membre de CButton (ce qui est vrai d apres le MSDN (il doit recuperer par un heritage multiple)) pourtant il est bien present dans afxwin.h
    pour info mon GetDlgItem vient de winuser.h

    Je pense que j ai des soucis avec les includes

    Attention j ai repris un tres vieux projet qui etait sous VS 6.0 peut être que ça joue.

  4. #4
    Membre éclairé
    Inscrit en
    Février 2006
    Messages
    256
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 256
    Par défaut
    C'est que tu ne dois pas appeler GetDlgItem() depuis une classe qui dérive de CWnd. Tu dois l'appeler depuis un CDocument ou un CWinApp ( en supposant que t'es bien en MFC ), sinon ça doit marcher, même le SetWindowText() puisqu'un bouton est en fait une fenêtre - au sens programmation de Windows.

  5. #5
    Membre très actif Avatar de magnus2005
    Profil pro
    Ingenieur SI
    Inscrit en
    Avril 2005
    Messages
    454
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingenieur SI

    Informations forums :
    Inscription : Avril 2005
    Messages : 454
    Par défaut
    ok merci ça explique pourquoi je suis contraint de passez par l autre.
    ça me parait logique.
    Mais reste mon probleme avec le CButton
    comment faire pour manipuler CButton dans une classe lambda.
    Ici j ai une classe qui herite de rien qui traite les evements de la GUI.

    Quand je veux tous rebuilder j ai une erreur de linkage sur nafxcwd.lib
    quand j ajoute afxwin.h

    J ai trouve l URL http://support.microsoft.com/kb/148652

    Je vais refaire un poste j ai mal formulé mon probleme

Discussions similaires

  1. debutant probleme Header Authenticate
    Par rvm31 dans le forum Langage
    Réponses: 1
    Dernier message: 15/07/2006, 22h24
  2. Réponses: 2
    Dernier message: 25/05/2004, 11h40
  3. [MFC] Changer le texte dans la barre de statut
    Par karl3i dans le forum MFC
    Réponses: 2
    Dernier message: 13/02/2004, 13h15
  4. [debutant]probleme servlet
    Par noOneIsInnocent dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 26/09/2003, 13h25
  5. [debutant] Probleme pour dessiner un simple cube
    Par scorpiwolf dans le forum DirectX
    Réponses: 6
    Dernier message: 02/07/2003, 20h29

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