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

Langage Delphi Discussion :

Delphi 7 : Taille de la police de TCanvas


Sujet :

Langage Delphi

  1. #1
    Membre éclairé Avatar de slimjoe
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2005
    Messages : 647
    Points : 789
    Points
    789
    Par défaut Delphi 7 : Taille de la police de TCanvas
    Bonjour,

    J'ai un problème avec une application installée sur un poste Windows 7 dont la résolution de l'affichage est de 1920x1080. Les polices sont plus grosses qu'à la normale. Conséquence : tout est décalé.

    J'ai vérifié les paramètres Windows d'usage (DPI, taille de police, etc.) et rien ne semble clocher de ce côté. J'ai donc créé une nouvelle application qui m'affiche le détail de la police de l'object TCanvas de la fenêtre principale. Voici de que ça donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Self.Canvas.Font.Name = MS Sans Serif
    Self.Canvas.Font.Size = 8
    Self.Canvas.Font.Height = -11
    Self.Canvas.Font.PixelsPerInch = 96
    Self.Scaled = True
    Ensuite, j'ai fais s'afficher la taille de la chaîne "WWWWW" à l'aide de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Self.Canvas.TextWidth('WWWWW')
    Sur le poste problématique, ça affiche 65. Sur tous les autres postes sur lesquels j'ai effectué mes tests : 55.

    Qu'est-ce qui provoque cette différence ? Comment est-ce que je peux y remédier ?

    Merci beaucoup!
    -Slimjoe

  2. #2
    Membre éprouvé
    Avatar de Dr.Who
    Inscrit en
    Septembre 2009
    Messages
    980
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Septembre 2009
    Messages : 980
    Points : 1 294
    Points
    1 294
    Par défaut
    sur l'un des postes la police doit être réglé en "large fontes"

    mais comme tu mets Scale à true, peut être ton application est Scalable d'ou la police plus haute.
    [ Sources et programmes de Dr.Who | FAQ Delphi | FAQ Pascal | Règlement | Contactez l'équipe ]
    Ma messagerie n'est pas la succursale du forum... merci!

  3. #3
    Membre éclairé Avatar de slimjoe
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2005
    Messages : 647
    Points : 789
    Points
    789
    Par défaut
    Bonjour et Merci pour votre aide.

    Citation Envoyé par Dr.Who Voir le message
    sur l'un des postes la police doit être réglé en "large fontes".
    C'est en effet la première chose que j'ai vérifiée. Tous les postes sur lesquels j'ai fait rouler mon application de test semblent identiques : mêmes ppp (96), mêmes tailles des éléments (taille 8 pour ce qui m'intéresse).

    En fait, pour réussir à obtenir le même résultat que mon poste fautif sur un poste fonctionnel, je dois mettre le ppp à 120. La largeur des mes W tombe alors à 65. Le problème est que mon poste fautif affiche 96 ppp à la fois dans mon application (Screen.PixelsPerInch = 96) et dans Windows ("Default scale (96DPI)").

    Ma question demeure : comment est-ce que l'application peut générer des largeurs différentes avec le même DPI et les même fontes ?

    Citation Envoyé par Dr.Who Voir le message
    mais comme tu mets Scale à true, peut être ton application est Scalable d'ou la police plus haute.
    J'ai essayé de jouer avec la propriété Scale et ça ne change rien à la largeur du texte. Ça semble affecter la largeur des composants (comme les boutons par exemple) mais je ne suis pas certain. Néanmoins, ça ne semble pas affecter mon problème.

    D'autres suggestions ?

    Merci encore!

    -Slimjoe

  4. #4
    Membre éprouvé
    Avatar de Dr.Who
    Inscrit en
    Septembre 2009
    Messages
    980
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Septembre 2009
    Messages : 980
    Points : 1 294
    Points
    1 294
    Par défaut
    mmm ... trés trés bizarre.

    et je pense qu'il s'agit du même windows (XP) sur tout les postes.
    le poste fautif n'est pas sous Vista ou 7 par exemple ?

    et au niveau visuel le texte est il vraiment plus haut de 10pixels ? c'est une différence assé voyante ...
    [ Sources et programmes de Dr.Who | FAQ Delphi | FAQ Pascal | Règlement | Contactez l'équipe ]
    Ma messagerie n'est pas la succursale du forum... merci!

  5. #5
    Membre éclairé Avatar de slimjoe
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2005
    Messages : 647
    Points : 789
    Points
    789
    Par défaut
    Citation Envoyé par Dr.Who Voir le message
    le poste fautif n'est pas sous Vista ou 7 par exemple ?
    En effet, le poste problématique roule sous Windows 7. Néanmoins, mes tests ont tous été effectués sur des postes Vista ou Windows 7. Tous les autres postes, quelque soit l'OS, sont fonctionnels.

    Citation Envoyé par Dr.Who Voir le message
    et au niveau visuel le texte est il vraiment plus haut de 10pixels ? c'est une différence assé voyante ...
    C'est la largeur qui est de 10 pixels plus grande (la hauteur, c'est 3) et, en effet, ça parait.

    Le poste est un portable Toshiba Qosmio X500.
    -Slimjoe

Discussions similaires

  1. Config ecran, taille de la police
    Par spiwis dans le forum Applications et environnements graphiques
    Réponses: 3
    Dernier message: 16/06/2005, 22h14
  2. Comment modifier la taille de la police dans Word ?
    Par djoao dans le forum API, COM et SDKs
    Réponses: 7
    Dernier message: 11/12/2004, 12h49
  3. [C#] Aggrandir la taille de la police dans un DataGrid
    Par fabrice1596 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 08/12/2004, 11h14
  4. Ajustement automatique de la taille de la police dans un TLabel
    Par Poisson Rouge dans le forum Composants VCL
    Réponses: 3
    Dernier message: 05/09/2003, 15h13
  5. Réponses: 5
    Dernier message: 27/11/2002, 14h08

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