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

Windows Forms Discussion :

Détecter valeur de la taille de la police


Sujet :

Windows Forms

  1. #1
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 154
    Points : 7 403
    Points
    7 403
    Billets dans le blog
    1
    Par défaut Détecter valeur de la taille de la police
    Bonjour,

    J'ai développé une application WinForm.
    Elle contient un certain nombre de contrôles utilisateurs, que j'ai dessiné originalement "aux petits oignons" pour prendre exactement la place requise par le texte à afficher.

    C'était sans compter sur le fait que des utilisateurs, trouvant la résolution de leur écran trop fine, décident de changer la police de caractères de Windows à +125%

    Ça fait tout péter de partout.

    J'ai donc trois questions :
    - Dans l'urgence : existe-t-il un moyen, le plus simple possible, pour ignorer ce paramètre au sein de mon application ?
    - Comment récupérer ce paramètre d'environnement ? Y a-t-il un évènement associé au changement de ce paramètre ?
    - Connaissez-vous un article qui traite du sujet, car je vois pas trop par quel bout prendre la chose pour avoir une application qui s'adapte à ce genre de paramètres.
    On ne jouit bien que de ce qu’on partage.

  2. #2
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    On peut détecter la résolution de l'écran et si elle est différente de 100% modifier la font de tous les controls en proportion inverse.

    Une discussion intéressante ici : http://stackoverflow.com/questions/4...r-choose-125-o

    Pour detecter la résolution:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Graphics g = myForm.CreateGraphics();
    float resolution = (g.DpiX+g.DpiY)/2*96 ; // 96 dpi est le réglage normal et 120 dpi correspond à 125%
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  3. #3
    Expert confirmé
    Inscrit en
    Avril 2008
    Messages
    2 564
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 564
    Points : 4 441
    Points
    4 441
    Par défaut
    bonjour StringBuilder...
    Dans les constructeurs des forms met:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Public Class Form1
        Public Sub New()
     
            ' Cet appel est requis par le Concepteur Windows Form.
            InitializeComponent()
     
            ' Ajoutez une initialisation quelconque après l'appel InitializeComponent().
            Me.AutoScaleMode = Windows.Forms.AutoScaleMode.Dpi
        End Sub
    End Class
    bon code...................

  4. #4
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 154
    Points : 7 403
    Points
    7 403
    Billets dans le blog
    1
    Par défaut
    Merci à vous deux. Ce n'est absolument pas dans cette direction que j'avais commencé mes recherches !

    Et sinon, en cas de changement de taille durant l'exécution du code, y a-t-il un évènement ?
    On ne jouit bien que de ce qu’on partage.

  5. #5
    Expert confirmé
    Inscrit en
    Avril 2008
    Messages
    2 564
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 564
    Points : 4 441
    Points
    4 441
    Par défaut
    rebonjour stringbuilder

    sur ce lien MSDN intitule "Automatic Scaling in Windows Forms" tu trouveras comment lever un event sur le form en cas de changment dans le panneau par l'user....
    http://www.google.fr/url?sa=t&rct=j&...mTvEoUKpDz13ig

    bon code................

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