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

C++Builder Discussion :

Probleme de form si affichage en grande police (ppp) [Non suivi]


Sujet :

C++Builder

  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 9
    Points : 6
    Points
    6
    Par défaut Probleme de form si affichage en grande police (ppp)
    Voila, si je change dans les paramètre avancé de l'affichage le paramètre PPP mes forms ne sont plus du tout utilisables.
    je pense que cela vient du fait que j'utilise des constraint pour la taille de mes forms.

    Avez vous déjà eu ce problème ? Et si oui, comment avez vous résolu le pb ?

    merci

  2. #2
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Salut.

    J'ai "résolu" ce problème en refaisant les calculs de positionnement et de taille sur l'évènement WM_WINDOWPOSCHANGED;
    Ces calculs sont faits en tenant compte du ratio ((float)(Screen->PixelsPerInch)/96.0) qui est le coefficient d'augmentation de taille en fonction du nombre de pixels. C'est de la grosse bidouille mais ça "marche".
    Si quelqu'un trouve mieux, je suis moi aussi preneur

  3. #3
    Futur Membre du Club
    Inscrit en
    Avril 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    aurais tu un petit exemple ?

    Merci

  4. #4
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Tu définis ici la fonctions
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    BEGIN_MESSAGE_MAP
       MESSAGE_HANDLER(WM_WINDOWPOSCHANGED,TMessage,WindowHasChanged)
    END_MESSAGE_MAP(TForm)
    Ici tu as la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    void __fastcall MaForm::WindowHasChanged(TMessage& Msg)
    {
        LPWINDOWPOS lpwp = (LPWINDOWPOS)Msg.LParam;
        // par exemple :
        MonControl->Left = (int)((float)(Screen->PixelsPerInch)/96.0) * 25);
        MonControl->Width= (int)((float)(Screen->PixelsPerInch)/96.0) * 50);
      ...........
        TForm::Dispatch(&Msg);
    }
    En supposant que 25 soit la taille de MonControl à la conception avec une résolution "normale".
    Encore une fois c'est du bricolage, quand j'ai trouvé ça je ne connaissais pas bien Windows, (et d'ailleurs je ne connais pas beaucoup plus )et on doit pouvoir faire mieux, je n'ai pas eu l'occasion de rechercher depuis.

Discussions similaires

  1. probleme sur form et grande police
    Par Flopp dans le forum C#
    Réponses: 2
    Dernier message: 20/11/2009, 11h52
  2. Réponses: 4
    Dernier message: 06/01/2006, 18h41
  3. [JTextArea] affichage Map grande capacité
    Par tony_big_guy dans le forum Composants
    Réponses: 9
    Dernier message: 30/11/2005, 08h58
  4. Probleme lors de la modification de la police
    Par amelieh dans le forum Autres Logiciels
    Réponses: 1
    Dernier message: 24/10/2005, 16h12
  5. [Struts]probleme de saisie et affichage de la saisie
    Par stanilas dans le forum Struts 1
    Réponses: 9
    Dernier message: 02/08/2005, 09h26

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