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 :

[Help]CDC->DrawText() et les accents


Sujet :

MFC

  1. #1
    Membre éprouvé
    Inscrit en
    Novembre 2007
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 129
    Par défaut [Help]CDC->DrawText() et les accents
    Bonjour,

    A un moment donnée au cours de mon développement j'ai voulu personaliser mes bouton images et mes objets Static.

    J'ai procédé en en surchargeant la méthode DrawItem des CButton par exemple avec la propriété OWNERDRAW.

    Bon tout marche bien du point de vu des graphisme, mes boutons font exactement ce que je leur demande.

    Le hic c'est lorsque j'essaie d'écrire des text avec des caraactères accentués.

    Normalement ces caractères sont bien affiché par les CButton classic, mais pas lorsque je décine mon propre bouton.

    Méthode utilisé ; CDC->DrawText(CString .....)

    Savait vous ce que j'aurais oublié de faire ? et puis enfin est ce que vous avez déja eu ce problème (ou encore si vous avez un exemple de CDC->DrawText("é") qui marche )

    Précision : C'est un projet MFC/MDI ( pas d'UTF à l'horison)

    Merci pour votre aide.

  2. #2
    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
    Par défaut
    salut ,
    étrange ,tu as sélectionné une fonte avant ?,
    comment est construit le CDC ?

  3. #3
    Membre éprouvé
    Inscrit en
    Novembre 2007
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 129
    Par défaut
    effectivement j'ai sélectionne un font et mon font est crée comme ceci


    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    //declaration
    LOGFONT		m_Font				;	//Le type de caractere
     
    CFont *		m_PersistantFont;
     
    //affectation
     
    m_Font.lfHeight 			= 16;
    m_Font.lfWidth 				= 0;
    m_Font.lfEscapement 		= 0;
    m_Font.lfOrientation 		= 0;
    m_Font.lfWeight 			= 0;
    m_Font.lfItalic 			= 0;
    m_Font.lfUnderline 			= 0;
    m_Font.lfStrikeOut 			= 0;
    m_Font.lfCharSet 			= OEM_CHARSET;
    m_Font.lfOutPrecision 		= OUT_DEFAULT_PRECIS;
    m_Font.lfClipPrecision		= CLIP_DEFAULT_PRECIS;
    m_Font.lfQuality 			= DEFAULT_QUALITY;
    m_Font.lfPitchAndFamily 	= FIXED_PITCH | FF_MODERN;
    strncpy(m_Font.lfFaceName,"Times New Roman\0" ,16);//	
     
     
    m_PersistantFont = new CFont();
    m_PersistantFont->CreateFontIndirect(&m_Font);
     
    //selection du font 
    odFont = PDC->SelectObjetc(PersistantFont ); .....

  4. #4
    Membre éprouvé
    Inscrit en
    Novembre 2007
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 129
    Par défaut
    Oh la bétise, merci farscape pour ton aide

    c'etait tout bete ca venait du font "m_Font.lfCharSet = OEM_CHARSET" qui en devenant "m_Font.lfCharSet = DEFAUT_CHARSET" arrange l'affaire.

    J'vait vraiment pas fait attention. Merci merci ouuuuuffffff sauvé !!!

  5. #5
    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
    Par défaut
    met plutôt : DEFAULT_CHARSET à la place de OEM_CHARSET.
    OEM_CHARSET c'est la table ansi dos .

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

Discussions similaires

  1. [FoxPro]Instruction pour enlever les accents ?
    Par Fab-FoxPro dans le forum Autres SGBD
    Réponses: 3
    Dernier message: 02/01/2025, 15h09
  2. [String] Comment supprimer les accents
    Par iuz dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 08/03/2004, 02h58
  3. [JDBC] Problème avec les accents
    Par seawolfm dans le forum Administration
    Réponses: 2
    Dernier message: 29/01/2004, 14h56
  4. les accents et printf
    Par remi77 dans le forum C
    Réponses: 5
    Dernier message: 07/07/2003, 20h53
  5. Comment afficher les accent sous mysql v4.0.13
    Par buildozer dans le forum Requêtes
    Réponses: 2
    Dernier message: 17/06/2003, 09h33

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