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 :

[CRichEditCtrl] Champ préselectionné


Sujet :

MFC

Vue hybride

TheGzD [CRichEditCtrl] Champ... 28/04/2009, 14h24
stephdim et en retournant FALSE dans... 28/04/2009, 15h22
TheGzD ça ne change rien :pleure: ... 28/04/2009, 15h36
3DArchi :koi: Il me semble bien que... 28/04/2009, 17h27
TheGzD Ça n'a aucun effet ... :( ... 07/05/2009, 15h22
3DArchi Quitte à me répéter, Il me... 07/05/2009, 15h45
TheGzD j'utilise une variable de... 07/05/2009, 15h55
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de TheGzD
    Homme Profil pro
    Ingénieur/ Docteur en Informatique
    Inscrit en
    Avril 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur/ Docteur en Informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 327
    Par défaut [CRichEditCtrl] Champ préselectionné
    Bonjour à tous,

    j'ai un petit soucis avec un CRichEditCtrl. En effet je créé une CDialog comprenant un CRichEditCtrl et à l'affichage je me rends compte que le texte qu'il contient est sélectionné, bien qu'il n'ai pas le focus ...

    En cherchant un peu dans la doc j'ai trouvé le fonction suivante qui me permet de désélectionner le texte et de placer le curseur au début :
    Je dois bien évidemment faire ceci un seule et unique fois à l'initialisation de mon objet, cependant le faire dans OnInitDialog ne rime à rien vu que l'objet graphique n'est pas encore créé => sans effet. Où dois-je faire mon appel pour qu'il passe une seule et unique fois à l'initialisation ? (bien évidemment je cherche une solution autre qu'un teste pour savoir si j'ai déjà exécuté cette fonction ...)


    PS : j'ai aussi le soucis avec un CComboBox

  2. #2
    Membre chevronné Avatar de stephdim
    Profil pro
    Inscrit en
    Août 2007
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 462
    Par défaut
    et en retournant FALSE dans OnInitDialog() ?

    en positionnant le focus manuellement bien sur

    @+

  3. #3
    Membre éprouvé
    Avatar de TheGzD
    Homme Profil pro
    Ingénieur/ Docteur en Informatique
    Inscrit en
    Avril 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur/ Docteur en Informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 327
    Par défaut
    Citation Envoyé par stephdim Voir le message
    et en retournant FALSE dans OnInitDialog() ?

    en positionnant le focus manuellement bien sur

    @+
    ça ne change rien


    EDIT: pour la CComboBox c'est réglé. C'est moi qui m'étais trompé de type : Dropdown au lieu de Drop List.

  4. #4
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Citation Envoyé par TheGzD Voir le message
    cependant le faire dans OnInitDialog ne rime à rien vu que l'objet graphique n'est pas encore créé => sans effet.

    Il me semble bien que GetDltItem dans OnInitDialog fonctionne...
    Après, il faut certainement faire attention avec les UpdateData si tu as une variable associée.

  5. #5
    Membre éprouvé
    Avatar de TheGzD
    Homme Profil pro
    Ingénieur/ Docteur en Informatique
    Inscrit en
    Avril 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur/ Docteur en Informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 327
    Par défaut
    Ça n'a aucun effet ...

    Ce qui pose problème, à mon avis, c'est que les différents éléments dérivants de CWnd n'ont pas encore de m_hWnd lorsque l'on est dans OnInitDialog.

    Je viens de relire mon 1er post et mon problème y est parfaitement décrit : si quelqu'un voit une solution merci de m'en faire profiter

  6. #6
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Quitte à me répéter, Il me semble bien que GetDltItem dans OnInitDialog fonctionne.
    Peux tu montrer le bout de code de OnInitDialog qui ne semble pas fonctionner ?
    En général, c'est du à un des deux problèmes suivants :
    -> Mauvais identifiant,
    -> dynamic_cast.

  7. #7
    Membre éprouvé
    Avatar de TheGzD
    Homme Profil pro
    Ingénieur/ Docteur en Informatique
    Inscrit en
    Avril 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur/ Docteur en Informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 327
    Par défaut
    Citation Envoyé par 3DArchi Voir le message
    Quitte à me répéter, Il me semble bien que GetDltItem dans OnInitDialog fonctionne.
    j'utilise une variable de contrôle ce qui revient au même (enfin il semble). De plus GetDltItem renvoie un CWnd dont la méthode SetSel n'est pas membre.

    Dernière ligne de mon OnInitDialog avant le return :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this->m_note.SetSel(0,0);
    (où m_note est le fameux CRichEditCtrl)

  8. #8
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    CRichEditCtr *p_edit = (CRichEditCtr *)GetDlgItem(XXX);
    if(p_edit){
       p_edit->SetSel();
    }
    ...

    Comment assures-tu l'échange avec m_note (à quoi ressemble CTaDialog:: DoDataExchange ) ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 30/09/2013, 14h18
  2. Réponses: 4
    Dernier message: 08/09/2009, 09h49
  3. [ADO] Constantes des types de champ
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 05/09/2002, 11h08
  4. Taille des champs proportionnelle...
    Par Depteam1 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 09/08/2002, 11h48
  5. taille max du nom d'un champ
    Par hna dans le forum Paradox
    Réponses: 2
    Dernier message: 28/07/2002, 02h40

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