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 Discussion :

AdjustWindowRect à l'envers


Sujet :

Windows

  1. #1
    Membre éprouvé
    Avatar de NiamorH
    Inscrit en
    Juin 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 1 309
    Points : 1 051
    Points
    1 051
    Par défaut AdjustWindowRect à l'envers
    Bonjour,

    je tente de trouver une fonction qui me renvoie la taille d'une région client en fonction de la taille de la fenetre entiere, l'inverse exact donc de la fonction AdjustWindowRect.

    Je ne peux pas utiliser GetClientRect car je me trouve dans le message WM_SIZING ( test pour autoriser un redimensionnement ou non ) donc les bonnes tailles de fenetres ne sont pas encore appliquées.

    Je pourrais faire un AdjustWindowRect sur le lParam, faire une différence et calculer la taille Client à la main mais c'est lourd.

    Je pourrais stocker cette différence (comme elle reste constante) dans une classe pour éviter l'appel à AdjustWindowRect à chaque WM_SIZING au pire.

  2. #2
    Membre confirmé
    Homme Profil pro
    .
    Inscrit en
    Juin 2002
    Messages
    239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : .
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2002
    Messages : 239
    Points : 567
    Points
    567
    Par défaut
    Bonjour.

    S'il s'agit d'autoriser un non un redimensionnement, n'est-il pas plus naturel de gérer le message WM_GETMINMAXINFO ?

    Pour traiter ce message, on peut utiliser GetClientRect, ce qui rend le traitement très facile.

    On peut aussi anticiper le traitement de ce message en appelant au début du programme la fonction AdjustWindowRect et en lui passant les valeurs minimales ou maximales de la zone client, ce qui donnera les valeurs extrémales de la fenêtre et donc la réponse au message WM_GETMINMAXINFO.

  3. #3
    Membre éprouvé
    Avatar de NiamorH
    Inscrit en
    Juin 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 1 309
    Points : 1 051
    Points
    1 051
    Par défaut
    Pas mal

    Et peut-on changer les valeurs par défaut minimum et maximum de la structure pour une fenetre ? Comme ça ce ne serait même plus la peine de traiter le message ?

  4. #4
    Membre habitué
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 340
    Points : 177
    Points
    177
    Par défaut
    Il y a neanmoins une largeur minimale pour une fenetre. Regarde ce post.
    L'Opus attire les Prélats

  5. #5
    Membre éprouvé
    Avatar de NiamorH
    Inscrit en
    Juin 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 1 309
    Points : 1 051
    Points
    1 051
    Par défaut
    ok donc a priori pas d'alternative au traitement du message.

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

Discussions similaires

  1. [FLASH MX] Lecture à l'envers
    Par Mouf dans le forum ActionScript 1 & ActionScript 2
    Réponses: 9
    Dernier message: 30/04/2006, 00h04
  2. jouer une animation a l'envers
    Par sylvain_bos dans le forum DirectX
    Réponses: 2
    Dernier message: 18/05/2004, 21h32
  3. unicité de champ les uns envers les autres
    Par Jovial dans le forum SQL Procédural
    Réponses: 6
    Dernier message: 16/04/2004, 08h34

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