Accueil
Rechercher:
sur developpez.com sur les forums
Forums | Tutoriels | F.A.Q's | Participez | Hébergement | Contacts
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi MS-Office SQL & SGBD Oracle  4D  Business Intelligence
FORUMS C FAQs C TUTORIELS C LIVRES C COMPILATEURS C SOURCES GTK+

Tutorial d'initiation
A la programmation avec l'API Windows

Tutorial d'initiation a la programmation Windows avec Microsoft Visual C++
PrécédentIndexSuivant

Chapitre 3

Les fenêtres

12. Utilisation de polices personnalisées

Cours théorique :

Pour utiliser une police personnalisée pour l'affichage du texte, il faut tout d'abord créer la police spécifiée. Pour cela, on réalise un appel à CreateFont() pour déterminer la police voulue, la taille, le style... Il faut ensuite sélectionner la police dans le contexte d'affichage avec la fonction SelectObject(). Une fois qu'une police est sélectionnée dans un contexte d'affichage, chaque texte affiché le sera avec cette police.

SelectObject() retourne le 'handle' de la police précédemment sélectionnée. Une fois l'utilisation de la police terminée, l'application doit resélectionner l'ancienne police par un nouvel appel à SelectObject(). Ensuite, elle doit détruire la police inutilisée par un appel à DeleteObject().

La suppression des objets créés par une application est faite automatiquement lorsque celle-ci se termine. Cependant, ils occupent de la place inutilement durant l'exécution de l'application. Il est donc important de supprimer les objets inutilisés. De plus, le nombre d'objets disponible pour une application donnée est limité, si l'application recrée une nouvelle police à chaque modification de l'affichage sans supprimer l'ancienne, elle va rapidement atteindre le nombre maximal d'objets.

Voici un exemple d'appel à CreateFont() :

HFONT Police;
Police=CreateFont(
  20,
  0,
  0,
  0,
  700,
  FALSE,
  FALSE,
  FALSE,
  0,
  OUT_DEFAULT_PRECIS,
  CLIP_DEFAULT_PRECIS,
  DEFAULT_QUALITY,
  DEFAULT_PITCH | FF_DONTCARE,
  "Comic Sans MS"
  );

PrécédentIndexSuivant

Responsable bénévole de la rubrique C : Arnaud Feltz (buchs) - Contacter par EMail :
Vos questions techniques : forum d'entraide C - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Copyright © 2000-2008 www.developpez.com - Legal informations.