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 :

personnaliser une fonte


Sujet :

MFC

  1. #1
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Points : 2 757
    Points
    2 757
    Par défaut personnaliser une fonte
    bonsoir,

    j'ai trouvé ça dans la FAQ pour mettre en gras le texte d'un contrôle

    CWnd *pWnd = GetDlgItem(IDC_STATIC1);
    CFont* pFont = pWnd->GetFont();
    if(pFont!=NULL)
    {
    LOGFONT lf;
    pFont->GetLogFont(&lf);
    lf.lfWeight=FW_BOLD;//mettre l'attribut en gras par exemple.
    // CFont m_font; // objet local à la classe parent fenetre CDialog,CFormView

    m_font.DeleteObject(); // destruction GDI de l'ancien objet eventuellement
    m_font.CreateFontIndirect(&lf); // creation de la fonte d'apres la LOGFONT
    }
    pWnd->SetFont(&m_font); // affectation de la nouvelle fonte.
    mais je ne sais pas d'où sors le m_font

    // CFont m_font; // objet local à la classe parent fenetre
    help :

    merci

  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
    Points : 17 323
    Points
    17 323
    Par défaut
    et bien c'est clair non ?
    cette variable doit etre declarée dans la classe parent .
    cette variable doit exister tant que le controle existe sinon boum .(pas bigboum ).


  3. #3
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Points : 2 757
    Points
    2 757
    Par défaut


    je viens de déclarer CFont m_font dans CTab1 (hérite CDialog), dont voilà le constructeur :

    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
    CTab1::CTab1(CWnd* pParent /*=NULL*/)
    	: CDialog(CTab1::IDD, pParent)
    {
    	CWnd *pWnd = GetDlgItem(IDC_TAB1_NOMCOMPET);
    	CFont* pFont = pWnd->GetFont();
     
    	if(pFont!=NULL)
    	{
    		LOGFONT lf;
    		pFont->GetLogFont(&lf);
    		lf.lfWeight=FW_BOLD;//mettre l'attribut en gras par exemple.
     
    		m_font.DeleteObject(); // destruction GDI de l'ancien objet eventuellement
    		m_font.CreateFontIndirect(&lf); // creation de la fonte d'apres la LOGFONT
    	}
     
    	pWnd->SetFont(&m_font); // affectation de la nouvelle fonte.
     
    	//{{AFX_DATA_INIT(CTab1)
    	m_csNomCompet = _T("");
    	m_csDate = _T("");
    	m_csLieu = _T("");
    	m_csNiveau = _T("");
    	//}}AFX_DATA_INIT
    }
    IDC_TAB1_NOMCOMPET est le CEdit associé à m_csNomCompet.

    à l'exécution, j'ai
    Debug Assertion Failed
    ça tombe sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ASSERT(::IsWindow(m_hWnd));
    m_hWnd de CTab1

    j'imagine que j'ai fait une erreur (genre j'ai pas compris et j'ai n'importe quoi)

  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
    Points : 17 323
    Points
    17 323
    Par défaut
    essaie encore petit scarabé ,

    il est interdit d'initialiser un objet graphique dans le constructeur de la fenetre parent celle ci n'etant pas encore initialisée .

    il faut faire ça dans OnInitialupdate pour une view ou InitDialog pour une CDialog .
    apres les appels des fonctions de la classe de base .

  5. #5
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Points : 2 757
    Points
    2 757
    Par défaut
    MAIS OUIIIIIIIIIIIIIIIII, en plus on me l'a déjà dit cet été (peut-être même ce bon vieux Farscape!)

    on va dire que c'est la fatigue. (je passe mes journée sur visual)

  6. #6
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Points : 2 757
    Points
    2 757
    Par défaut
    ça marche, merci!

    euh... abuserais-je en demandant quelles sont les styles de font reconnus par visual en dehors de Arial?

  7. #7
    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
    et bien tout ce qui est disponible sur ta machine,
    sous xp ,demarrer panneau de config icone polices .
    sinon voir aussi la fonction d'enumeration des fontes dans la faq:
    http://c.developpez.com/faq/vc/?page=Fontes#CreateFonte


  8. #8
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Points : 2 757
    Points
    2 757
    Par défaut
    il est fort

    si tu deviens Guru d'une secte, je serais ton premier fidèle.
    (à ne pas prendre au pied de la lettre )

    merci

  9. #9
    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

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

Discussions similaires

  1. Creer une FONT
    Par YURI2006 dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 21/11/2005, 15h17
  2. installation d'une FONT
    Par Louis-Guillaume Morand dans le forum Windows
    Réponses: 2
    Dernier message: 12/10/2005, 18h36
  3. Réponses: 14
    Dernier message: 27/06/2005, 19h12
  4. Réponses: 10
    Dernier message: 01/06/2005, 11h30
  5. Réponses: 8
    Dernier message: 28/01/2005, 08h28

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