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 d'une editbox


Sujet :

MFC

  1. #1
    Membre actif Avatar de damienlann
    Profil pro
    Étudiant
    Inscrit en
    Mai 2005
    Messages
    293
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2005
    Messages : 293
    Points : 249
    Points
    249
    Par défaut changer la police d'une editbox
    Je voudrais changer la police d'une edit box mais je ni arrive pas.

    Une variable de controle Cedit sur mon editbox est déclaré dans
    classwizard\menber variable.

    Je déclare
    ensuite quand je veut changer la police je fait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     mapolice =CreateFont(20, 0, 0, 0, 700, FALSE, FALSE ,FALSE , 0, OUT_DEFAULT_PRECIS, CLIP_ DEFAULT_PRECIS ,DEFAULT_QUALITY , DEFAULT_PITCH | FF_DONTCARE, "Courier New");
    puis je lie mapolice à mon Cedit.

    tous ce que j'obtient c'est un petit changement d'épaisseur et c'est tout.
    j'ai essayer de toucher un peu à tous les parametres de createfont mais ca change rien.

    voila... Si quelqu'un peut m'aider je le remercierais bien fort.
    voila voila.

  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
    le plus simple etant de partir directement d'une fonte systeme.
    voir faq:
    http://c.developpez.com/faq/vc/?page=Fontes#CreateFonte
    et apres il suffira de faire un SetFont sur le CEdit.
    attention l'"objet CFont doit exister tant que le controle existe..


  3. #3
    Membre actif Avatar de damienlann
    Profil pro
    Étudiant
    Inscrit en
    Mai 2005
    Messages
    293
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2005
    Messages : 293
    Points : 249
    Points
    249
    Par défaut
    j'ai fait un copier coller de la class et des fonction de "Comment créer une fonte d’après une fonte système ?" et j'obtient exactement la meme chose.
    le controle sur mon editbox se nome m_ctledit.
    je fais:

    CFontEx Font;
    Font.GetFont(10,"Arial");
    m_edit.SetFet(&Font);

    j'ai meme mis la ligne
    //Font.GetFont(10,"Arial");
    en commentaire et j'obtient encore et toujours la meme chose c'est à dire un petit changement au niveau de l'épaisseur mais toujours pas de changement de police.

    au fait... la c'est "Arial" mais courrier new c'est bien "Courier New"? soit le nom de la police tel qu'iolest écrit dans c:\windows\fonts .

  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
    Apparemment tu n'as pas respecté ce que j'ai dis
    l'objet fonte ne doit pas etre local a la fonction ou tu fais le changement sinon l'objet est detruit quand il sort de sa portée et l'objet GDI HFONT avec...
    donc declarer la variable en tant que donnée membre de la classe.
    tu as un exemple simple d'application sur un static ici:
    http://farscape.developpez.com/Sampl...tomListBox.zip
    c'est pareil pour un edit.

  5. #5
    Membre actif Avatar de damienlann
    Profil pro
    Étudiant
    Inscrit en
    Mai 2005
    Messages
    293
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2005
    Messages : 293
    Points : 249
    Points
    249
    Par défaut
    J'ai fait un fichier police.h avec la classe et les fonctions
    et je l'ai inclu... bon pas de probleme 8)

    ensuite je fait:

    police.GetFont(0,"Arial");
    m_ctledit.SetFont(&police);


    police doit etre une variable de type CFontEx donc je fait
    CFontEx police;
    je crois avoir compris que cette variable
    doit etre public mais je sais pas trop ou la déclarer.

    j'ai essayer un peu partout.

    donc j'ai 2 erreurs :
    'police' : undeclared identifier "forcement"
    left of '.GetFont' must have class/struct/union type "forcement aussi"

  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
    mets l'include de la classe fonte dans le .h de la classe fenetre apres le IFdef .
    comme ça plus de probleme.

  7. #7
    Membre actif Avatar de damienlann
    Profil pro
    Étudiant
    Inscrit en
    Mai 2005
    Messages
    293
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2005
    Messages : 293
    Points : 249
    Points
    249
    Par défaut
    hein??
    ca va rien changer... mon CFontEx n'est pas déclaré.

  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
    relis ce que j'ai dis a 2 reprises: ton objet fonte ne doit pas etre local
    a la fonction mais déclaré dans ta classe fenetre pour qu'il existe tant que le controle existe.

  9. #9
    Membre actif Avatar de damienlann
    Profil pro
    Étudiant
    Inscrit en
    Mai 2005
    Messages
    293
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2005
    Messages : 293
    Points : 249
    Points
    249
    Par défaut
    .h de la classe fenetre pour une boite de dialogue c'est bien dans nomdemonprojetDlg.h ??

  10. #10
    Membre actif Avatar de damienlann
    Profil pro
    Étudiant
    Inscrit en
    Mai 2005
    Messages
    293
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2005
    Messages : 293
    Points : 249
    Points
    249
    Par défaut
    Ca y est j'y arrive!!!!

    faut pas ce faire chier!!!
    on peut tout faire en local.

    il faut déclarer comme ceci:
    static CFontEx police;

    et ensuite on peut fairedans la meme fonction:

    police.GetFont(0,"Arial");
    m_ctledit.SetFont(&police);

    et ca marche.
    alors je sais pas si c'est bourin ou quoi mais ca marche.

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

Discussions similaires

  1. [XL-2003] Changer la police d'une cellule contenant une fonction
    Par BtjpsspgrW dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 25/02/2014, 09h55
  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 la police dans une vue de type CListView
    Par whitebird001 dans le forum MFC
    Réponses: 4
    Dernier message: 24/06/2008, 00h11
  4. 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
  5. Changer la police d'une équation
    Par milanista dans le forum Mathématiques - Sciences
    Réponses: 1
    Dernier message: 17/06/2006, 11h52

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