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 :

[MFC]Probleme avec attributs d'une LOGFONT


Sujet :

MFC

  1. #1
    Membre actif
    Avatar de Fildz
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    161
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 161
    Points : 272
    Points
    272
    Par défaut [MFC]Probleme avec attributs d'une LOGFONT
    Bonjours a tous, voila j'ai plusieurs questions a vous posez :

    - Concernant tout d'abord la méthode de définition d'une nouvelle police d'une ressource d'un dialog, comme un static texte par exemple. J'ai bien suivis la méthode dites dans la Faq mais la police ne fait que de mettre en gras le texte de mon static alors que mon logfont précise beaucoup d'autre parametres :

    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
    	LOGFONT lf;
    	ZeroMemory(&lf, sizeof(LOGFONT) );	
     
    	// On la personnalise...
    	lstrcpy(lf.lfFaceName,"Comic Sans MS");
    	lf.lfHeight=40;			// hauteur de la police
    	lf.lfItalic=TRUE;		// mise en italique
    	lf.lfWeight=100;		// mise en gras
    	lf.lfUnderline=FALSE;	// soulignage
     
    	// Création de la font
    	CFont ftComic;
    	// On initialise la font avec notre LOGFONT perso
    	ftComic.CreateFontIndirect(&lf);
     
    	CStatic * pStatic = static_cast<CStatic*>(GetDlgItem(IDC_STATIC1));
    	CFont* pFont = pStatic->GetFont();
       if(pFont!=NULL)
       {
     
          ftComic.DeleteObject();  // destruction GDI de l'ancien objet eventuellement
          ftComic.CreateFontIndirect(&lf); // creation de la fonte d'apres la LOGFONT
        }
     
    	pStatic->SetFont(&ftComic);  // affectation de la nouvelle fonte.
          // * résultat : ma ressource static est seulement en gras !!!! :( *

    - Deuxièment, j'aimerai savoir comment peut on ouvrir un dossier précis au lancement d'un CFileDialog plutot que le répertoire par défaut.

    - Troisièment, j'ai besoin de sérialiser un IPicture* (pour la sauvegarde de mes images CPicture<- classe trouvé sur internet).

    - Quatrièment, et toujours sur la sérialisation, j'aimerai savoir comment peut on faire pour sérialiser une structure, et plus précisément un LOGFONT.

    Ca commence a faire pas mal de temps que je travail sur ces problèmes, j'ai vraiment besoin de votre aide svp.

    @+
    [a l'avenir choisis un titre en rapport avec le sujet,Merci Farscape]

  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
    salut,
    1) une fonte contient bien d'autres paramètres et les tiens sont très incomplets.
    le mieux étant d'obtenir une fonte système et de modifier ensuite ses attributs.
    voir faq:
    http://c.developpez.com/faq/vc/?page=Fontes#CreateFonte
    2) toujours voir faq:
    http://c.developpez.com/faq/vc/?page...DialogHowToUse
    Dernier paragraphe.
    3) il me semble bien que la classe CPicture propose une méthode de sauvegarde.
    4) pour sauvegarder une logfont dans un fichier tu peux écrire directement la structure dans un fichier avec son adresse avec comme longueur sizeof(LOGFONT).

  3. #3
    Membre actif
    Avatar de Fildz
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    161
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 161
    Points : 272
    Points
    272
    Par défaut
    1) Oké d'ac je vérifierai depuis une police systeme (mais celle que j'avai fait fonctionne lors d'un affichage dans une fenetre :s)

    2) En effet j'avai pas vue !

    3) Malheureusement la classe CPicture que j'ai ne possède pas de méthode Serialize(); Si kk1 a une version avec serialize() je prend ! .

    4) Je retiens la solution merci bien. Mais la structure LOGFONT est un des attributs permis plusieurs autre dans ma classe qui utilise le systeme d'archivage des MFC "<< m_variable ..." etc. Ca me permet complexe a mettre en oeuvre ! Pourtant il faudra bien que je trouve une solution :s

  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
    si c'est vraiment la serialisation que tu veux faire il faut enregistrer ça comme un flux binaire..
    peut etre s'inspirer de la methode save de la classe CPicture.
    sinon a partir de .net il y a la classe CImage qui dispose aussi d'une fonction Save.

Discussions similaires

  1. [MFC] probleme avec CFile
    Par benahpets dans le forum MFC
    Réponses: 12
    Dernier message: 18/08/2005, 10h29
  2. [MFC] Probleme d'actualisation d'une listbox
    Par Robleplongeur dans le forum MFC
    Réponses: 5
    Dernier message: 13/05/2004, 14h15
  3. Réponses: 3
    Dernier message: 26/01/2004, 17h59
  4. [MFC ]Probleme de linkage d'une dll
    Par Lysis dans le forum MFC
    Réponses: 9
    Dernier message: 22/01/2004, 14h51
  5. [MFC] probleme de rafraichissement d'une image
    Par Vestaproman dans le forum MFC
    Réponses: 6
    Dernier message: 09/01/2004, 23h59

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