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 :

[Débutant] Trouvez la taille d'une fenêtre


Sujet :

MFC

  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2004
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 4
    Points : 2
    Points
    2
    Par défaut [Débutant] Trouvez la taille d'une fenêtre
    Bonjour,

    Je ne sais pas comment faire pour obtenir la taille de ma fenetre pour pouvoir afficher un mot en bas à gauche, de sorte qu'il y reste même après avoir redimensionné la fenêtre.

  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,
    pour obtenir la zone client d'une fenetre utiliser GetWindowRect.

    CWnd::GetWindowRect
    void GetWindowRect(
    LPRECT lpRect )
    const;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    CRect Rect;
    GetWindowRect(Rect);

  3. #3
    Candidat au Club
    Inscrit en
    Janvier 2004
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    CRect Rect; 
    GetWindowRect(Rect);
    faut-il utiliser GetWindowRect apres avoir cherché un pointeur sur la fenetre en question ou directement?

    Car voici ce que je mets dans ma fonction onDraw et il n'y a rien à l'écran:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    CRect Rect;
    GetWindowRect(Rect);
    pDC->TextOut(Rect.left,Rect.bottom,Compliments);

  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
    Citation Envoyé par Sharukh
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    CRect Rect; 
    GetWindowRect(Rect);
    faut-il utiliser GetWindowRect apres avoir cherché un pointeur sur la fenetre en question ou directement?

    Car voici ce que je mets dans ma fonction onDraw et il n'y a rien à l'écran:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    CRect Rect;
    GetWindowRect(Rect);
    pDC->TextOut(Rect.left,Rect.bottom,Compliments);
    re,
    normal Rect.botton donne le bas de l'ecran donc l'ecriture est en dehors de la zone client d'affichage .
    il faudra faire Rect.bottom - taille en hauteur de la fonte.
    voir GetTextExtend:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    pDC->TextOut(Rect.left,Rect.bottom-pDC->GetTextExtent(Compliments).cy,Compliments);

  5. #5
    Candidat au Club
    Inscrit en
    Janvier 2004
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    re,
    normal Rect.botton donne le bas de l'ecran donc l'ecriture est en dehors de la zone client d'affichage .
    il faudra faire Rect.bottom - taille en hauteur de la fonte.
    voir GetTextExtend:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    pDC->TextOut(Rect.left,Rect.bottom-pDC->GetTextExtent(Compliments).cy,Compliments);
    ça marche pas en retranchant la taille de la fonte (à 16 normalement) mais le text apparait à l'ecran si je retranche un nombre assez grand(de l'ordre de 200). Pourquoi?

    Et puis ce n'est plus valide si la fenetre est redimensionnée (le text est caché), comment éviter cela?

  6. #6
    Candidat au Club
    Inscrit en
    Janvier 2004
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    C'est bon j'ai trouvé, il faut utiliser GetClientRect à la place de GetWindowRect.

    Merci à toi farscape.

  7. #7
    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
    oups je pensais zone cliente donc getclientrecte et j'ai mis GetWindowRect .

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. fixer la taille d'une fenêtre
    Par hammag dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 25/04/2006, 18h33
  2. adapter la taille d'une fenêtre sur un JPanel
    Par Zorgloub dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 29/03/2006, 16h19
  3. Fixer la taille d'une fenêtre
    Par rockelite dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 24/12/2005, 13h09
  4. [HTML] bloquer la taille d'une fenêtre
    Par discogarden dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 15/12/2005, 16h16
  5. taille d'une fenêtre
    Par Zakain dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 27/10/2005, 15h11

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