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 :

[MFC] Ceditview comment ca marche


Sujet :

MFC

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 29
    Points : 17
    Points
    17
    Par défaut [MFC] Ceditview comment ca marche
    Bonsoir,

    Je n'ai pas encore trouvé comment utiliser Ceditview.

    J'ai besoin d'afficher du texte qui doit être *selectionnable* or pour le moment dans ma cscrollview je l'affiche avec textout mais il n'est pas selectionnable.

    Cette vue ne comportant que du texte je me suis dit qu'un Ceditview devait etre plus approprié que mon actuel cscrollviex mais je ne sais pas comment l'utiliser.

    Alors si une âme charitable pouvais me donner un exemple pour inserer une ligne de texte

    ps: je cherche sur la msdn mais ce n'est pas simple :$

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 65
    Points : 43
    Points
    43
    Par défaut
    Salut

    je ne m'y connais pas bcp mais le tuto de Farscape traite de ça

    ftp://ftp-developpez.com/farscape/tutoriels/demarrer-mfc-vc6.pdf

    page 12 : résumé de class Cview, Cscrollview, Ceditview..... et leurs roles respectif
    page <12 explication pour construire un projet avec la bonne class.

    pour moi CEditView est la class qu'il te faut

    j'espère que ca t'aidera.

  3. #3
    mat.M
    Invité(e)
    Par défaut Re: [MFC] Ceditview comment ca marche
    Citation Envoyé par foxblue
    Bonsoir,
    ps: je cherche sur la msdn mais ce n'est pas simple :$

    Tout est dans le MSDN ; quel est ton problème ??

    Il sufftit d'utiliser les méthodes adéquates


    CEditView Constructs an object of type CEditView.

    Attributes
    GetEditCtrl Provides access to the CEdit portion of a CEditView object (the Windows edit control).
    GetPrinterFont Retrieves the current printer font.
    GetSelectedText Retrieves the current text selection.
    LockBuffer Locks the buffer.
    UnlockBuffer Unlocks the buffer.
    GetBufferLength Obtains the length of the character buffer.
    SetPrinterFont Sets a new printer font.
    SetTabStops Sets tab stops for both screen display and printing.

    Operations
    FindText Searches for a string within the text.
    PrintInsideRect Renders text inside a given rectangle.
    SerializeRaw Serializes a CEditView object to disk as raw text.

    Il faut chercher un peu par soi-même, il ya un exemple , je viens de consulter le MSDN.
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmfc98/dt__sample_mfc_MULTIPAD1.asp

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    Ok merci donc je continu mes recherche sur le Ceditview

    et pour mat.M je suppose que c'est une question d'habitude, mais pour le moment je trouve qu'on doit beaucoup cliquer pour arriver a ce que l'ont recherche sur la msdn.

    Souvent on revient sur nos pas même :s
    Leur moteur de recherche me plait pas beaucoup dailleur mais ca doit etre comme tout une question d'habitude.

    Puis aussi sous Firefox c'est pas joli leur vieu menu en Frame, il n'y a vraiment que eux pour utiliser des truc pareil.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    Bon en fait je me pose des questions si c'est vraiment la classe qu'il me faut ^^

    J'ai besoin de pouvoir *selectionner* du texte , pour ca c'est ok mais moi je ne veut pas qu'on puisse *l'editer*

    Quelqu'un sait si on peut empecher l'edition ?


    Et aussi je n'ai toujour pas réussi a afficher du texte l'exemple de la msdn me montre juste comment ouvrir cette vue.

  6. #6
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    et bien tu utilises la fonction SetReadOnly(TRUE).
    sur la classe fenetre.


  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    merci beaucoup et sinon pour afficher du text j'ai essayer avec


    CStatic *m_mySt;

    void Ceditview::OnDraw(CDC* pDC)
    {
    m_mySt->SetWindowText("test");
    }

    mais pour le moment je n'ai pas encore bien compris :$ et ca ne marche pas.

  8. #8
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    re,
    une Ceditview n'est pas destinée a mettre des controles sur sa surface de travail ...
    que cherche tu as faire ?


  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    bien juste a afficher des messages texte

    edit: mais je ne veut pas un simple drawtext dans une view
    il faut qu'on puisse le selectionner et si possible sous forme de ligne comme dans une liste mais sans colonne ^^

  10. #10
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    alors pourquoi tu fais reference a un CStatic ?
    tu mets a jour la CEditView par un this->SetWindowText("zzzz");
    c'est tout.
    a faire par exemple dans la fonction OnInitialUpdate.

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    Nikel merci

    par contre je suis pas doué et je ne sais trop comment utiliser
    SetReadOnly

    D'apres l'exemple de la msdn

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    // The pointer to my edit.
    extern CEdit* pmyEdit;
     
    // Set the edit control to be read-only.
    pmyEdit->SetReadOnly(TRUE);
    ASSERT(pmyEdit->GetStyle() & ES_READONLY);
    mais a quoi correspond ce Cedit et puis vu que tu ma dit de le mettre sur la classe de ma fenetreje me perd

  12. #12
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    exact SetReadOnly s'applique a un edit ou un CRichEdit.
    pour une CEditView:
    Code : 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
     
    void CTestEditViewView::OnInitialUpdate() 
    {
    	CEditView::OnInitialUpdate();
     
    	// TODO: Add your specialized code here and/or call the base class
        SetWindowText("zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz");
        SetReadOnly();
    }
    void CTestEditViewView::SetReadOnly(bool bReadOnly/*=true*/)
    {
        m_bReadOnly=bReadOnly;
    }
    void CTestEditViewView::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags) 
    {
    	// TODO: Add your message handler code here and/or call default
    	if(m_bReadOnly) return;
    	CEditView::OnChar(nChar, nRepCnt, nFlags);
    }
    on empeche la saisie en interceptant le message WM_CHAR...

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    euh le m_bReadOnly tu le sors de ou ? :p

    Oui je sais je suis un boulet ^^

  14. #14
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    c'est une variable (perso) a declarer dans ta classe et a l'initialiser dans le constructeur à false.

Discussions similaires

  1. ToAsciiEx, comment cela marche ?
    Par mikyfpc dans le forum C++Builder
    Réponses: 2
    Dernier message: 17/02/2004, 21h39
  2. [MFC] list box : comment ça marche
    Par runn2 dans le forum MFC
    Réponses: 4
    Dernier message: 28/01/2004, 12h36
  3. [SYNEDIT] -> Comment ça marche ?
    Par MaTHieU_ dans le forum C++Builder
    Réponses: 2
    Dernier message: 18/01/2004, 19h11
  4. [TP][Turbo Vision] comment ça marche ??
    Par Costello dans le forum Turbo Pascal
    Réponses: 7
    Dernier message: 05/08/2003, 00h24
  5. [update][req. imbriquee] Comment ca marche ??
    Par terziann dans le forum Langage SQL
    Réponses: 3
    Dernier message: 11/07/2003, 12h51

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