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 :

changer la police dans une vue de type CListView


Sujet :

MFC

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 78
    Par défaut changer la police dans une vue de type CListView
    Bonsoir,

    Je voudrais changer la police du texte affiché dans une vue dérivée de CListView.

    Dans la méthode OnInitialUpdate où le texte est affiché, j'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    CFont font;
    font.CreatePointFont(100, "Courier New");
     
    CListCtrl& listctrl = GetListCtrl();
    listctrl.SetFont(&font);
    J'obtiens effecivement un changement de police mais l'affichage ne semble pas du tout correspondre à la police spécifiée, soit "Courier New".

    Lorsque j'utilise CreatePointFont dans une vude dérivée de CScrollView (méthode OnDraw), tout fonctionne correctement.

    Où est l'erreur??

    Whitebird001

    PS: en fait dans la CListView, le résultat de l'affichage semble indépendant du type de police. Ainsi "MS Serif" donne le même résultat que "Courier New"

  2. #2
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    76
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2005
    Messages : 76
    Par défaut
    Si ça peut t'aider :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    LOGFONT lFont ;
    	memset(&lFont, 0, sizeof(LOGFONT)); 
    	// Création d'une fonte avec ta taille
    	// Peut-etre faudrait il voir si tu peux récupérer la fonte en cours et ne modifier que le champs lfHeight, les autres champs étant ainsi remplis par la fonction de récupération.
    	lFont.lfHeight=12;
    	lFont.lfWeight=FW_BOLD;
    	lFont.lfItalic=FALSE;
    	lFont.lfUnderline=FALSE;
    	wcscpy(lFont.lfFaceName, TEXT("System"));
     
    	m_font.CreateFontIndirect(&lFont);
     
    	((CStatic*)GetDlgItem(IDC_APPLI))->SetFont(&m_font);
    m_font est une donnée membre, déclarer dans le fichier header (.h)

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 78
    Par défaut
    Merci, ça fonctionne.

    Whitebird001

  4. #4
    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
    l'erreur de départ est de ne pas avoir déclarer la fonte en temps que donnée membre de la classe fenêtre.
    l'obet gdi fonte associé a l'obet CFont étant détruit en même que celui-ci quand il sort de sa portée: la méthode OnInitialUpdate.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 78
    Par défaut
    Merci pour cette précision farscape, effectivement j'avais omis ce point.

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

Discussions similaires

  1. [SP-2010] probleme de type de colonne dans une vue
    Par Fred06 dev dans le forum SharePoint
    Réponses: 7
    Dernier message: 26/12/2013, 11h09
  2. Changer la police dans une entête Excel
    Par l0quito dans le forum VB.NET
    Réponses: 1
    Dernier message: 18/07/2008, 10h15
  3. changer de police dans une liste de validation
    Par kristoch91 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 09/06/2008, 09h35
  4. Réponses: 1
    Dernier message: 22/09/2006, 10h30

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