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 taille de la police


Sujet :

MFC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 9
    Par défaut changer la taille de la police
    Bonjour,
    J'essaye depuis 2 jours de changer la taille de la police sur un bouton et dans une listbox mais je n'y arrive pas. J'ai essayé tous ce que j'ai pu trouver sur les forum mais rien n'y fait. En fait lorsque je change la taille ca m'ecarte mes lignes de texte dans ma liste et ca ne change rien sur le bouton. J'ai mis les ligne de code suivante dans mon initdialog.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    CWnd *pWnd = GetDlgItem(IDC_AFFICHERC);
        CFont* pFont = pWnd->GetFont();
        LOGFONT lf;
        pFont->GetLogFont(&lf);
        lf.lfWeight=FW_BOLD;//mettre l'attribut en gras par exemple.
    	lf.lfHeight=100;
    	CFont m_font;  // objet local à la classe parent fenetre CDialog,CFormView
          //m_font.CreateFont(0, 0, 0, 0, FW_NORMAL,
                    //0, 0, 0, DEFAULT_CHARSET, OUT_CHARACTER_PRECIS,
                    //CLIP_CHARACTER_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH |
                    //FF_DONTCARE, "Arial");
         m_font.CreateFontIndirect(&lf); // creation de la fonte d'apres la LOGFONT
    	 pWnd->SetFont(&m_font);  // affectation de la nouvelle fonte.
    	 m_ListFichier.SetFont(&m_font);
    Merci de votre aide

  2. #2
    r0d
    r0d est déconnecté
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 290
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    chez moi (sous Visual6 également) ton code fonctionne.
    - L'identifiant du controle est peut-être erroné (IDC_AFFICHERC)
    - Je ne comprends pas le but de la dernière ligne ( m_ListFichier.SetFont(&m_font) ). A quoi est-elle censée servir? Pour mon test, je l'ai supprimée.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 9
    Par défaut
    La derniere ligne est la pour appliquer la police à une liste.
    Je n'arrive vraiment pas a comprendre pourquoi ce code ne fonctionne pas chez moi.
    J'ai pourtant visual 6 aussi
    Il n'y à pas de fichier à inclure pour que le code fonctionne?
    Merci d'avoir répondu

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 9
    Par défaut
    En fait que je mette n'importe quel valeur dans le cFont j'ai le meme résultat donc je pense que celui-ci n'est pas pri en compte. Y a t'il possibiliter de changer la police pour tous les contrôles de la fénètre en une fois?
    J'ai join un petit essai que j'ai fais pour changer la police sur le bouton. Je n'arrive pas a ecrire de facon à ce que le texte tienne tout le bouton. La taille ne change jamais. pouvez vous m'aider ?

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 464
    Par défaut
    ce ne serait pas par hasard parce que m_font (qui est défini localement, donc ayant une durée de vie limitée au scope courant (fonction, bloc conditionnel...)) serait détruit, rendant du même coup le HFONT encapsulé invalide ?

  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
    Par défaut
    exact ,comme le bout de code cité de la faq l'indique ,l'objet m_font est a déclarer dans la classe pour qu'il soit persistant ....

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

Discussions similaires

  1. Changer la taille de la police indépendamment de l'environnement math
    Par lock42 dans le forum Mathématiques - Sciences
    Réponses: 3
    Dernier message: 06/06/2007, 11h15
  2. changer la taille de la police de certains mots
    Par bateau_a_voile dans le forum VBA Word
    Réponses: 17
    Dernier message: 04/06/2007, 15h34
  3. [VBA-W] changer la taille de la police d'un signet
    Par dev81 dans le forum VBA Word
    Réponses: 6
    Dernier message: 25/04/2007, 09h46
  4. [J2ME] changer la taille de la police
    Par clementv dans le forum Java ME
    Réponses: 2
    Dernier message: 14/06/2006, 18h59
  5. Changer la taille d'une police SDL_ttf.
    Par Kerwando dans le forum SDL
    Réponses: 4
    Dernier message: 06/06/2006, 12h10

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