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 :

Gestion des scrollbar?


Sujet :

Windows

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 31
    Par défaut Gestion des scrollbar?
    Je cherche deséspeemment sur le net comment gérer les scrollbar : j'ai un projet qui utilise l'API windows; lors de la création de ma fenêtre, j'ai indiqué en paramètres WS_HSCROLL et WS_VSCROLL : des "ascenseurs" sont bien apparus sur les côtés. Cependant, ils sont "morts", c'est à dire que si je trace quelquechose qui sort du cadre de ma fenêtre, je en pourrais pas y accéder, les ascenseurs ne descendent pas... Et impossible de trouver quoi que ce soit la dessus sur le net... Quelqu'un est au courant?

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 31
    Par défaut
    regarde sur msdn
    ScrollWindowEx
    GetScrollInfo
    SetScrollPos
    SetScrollInfo

  3. #3
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 398
    Par défaut
    Et les messages WM_HSCROLL et WM_VSCROLL.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 31
    Par défaut
    Je ne comprend pas trop, quand on parle de fenêtre ou d'aire client (client area) : est ce que l'aire client est celle qui est visible ou bien la totale si il n'y avait pas de scrollbar? De plus, je n'arrive toujours pas à rendre "vivant" les ascenceurs : la fonction ScrollWindowEx créé des scrollbar tout comme les options WS_HSCROLL et WS_VSCROLL mais ne permet pas de les activer... Autre Question, quand je définis par exemple dans ma fonction createWindow une taille de 800 par 800, s'agit-t-il de la taille de la fenêtre ou de la zone de travail délimitée par les scroll bar?
    Merci

  5. #5
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 398
    Par défaut
    1. Les scrollbars standard d'une fenêtre ne font pas partie de sa zone client.
    2. Une scrollbar est "vivante" si ta fenêtre traite les messages WM_HSCROLL et WM_VSCROLL.
    3. La taille passée à CreateWindow() est la taille totale de la fenêtre. Tu peux obtenir la taille totale de la fenêtre à partir de celle de la zone client avec la fonction AdjustWindowRect() ou AdjustWindowRectEx(), tant que tu n'as pas une fenêtre trop petite avec un menu: La fonction ne prévoit pas qu'un menu puisse faire plusieurs lignes.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 31
    Par défaut
    Alors en gros pour faire un petit récapitulatif de ce que je dois faire si j'ai bien compris pour créer une fenêtre avec des ascenceurs :

    1. Créer une fenêtre normale avec les options WS_HSCROLL et WS_VSCROLL dans la fonction CreateWindow() qui créé ma fenêtre
    Ceci fait simplement apparaitre les barres

    2. Détailler des cas case WM_HSCROLL et WM_VSCROLL dans la procédure de fenête principale.

    Très bien, mais ce que je ne saisis pas c'est si ma fenêtre fait 500 par 500, il va falloir que ma zone client fasse plus de 500 par 500 pour pouvoir activer les barres n'est-ce pas?

    De plus, ou est ce que je règle la taille de ma zone client?

    Enfin, à quoi me sert SetScrollInfo() dans ce cas?

    Je sais ca fait beaucoup de questions, mais la doc en anglais sur msdn n'est pas toujours très claire...

  7. #7
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 398
    Par défaut
    Ce n'est pas ta zone client qui doit faire plus de 500*500 : C'est ce que tu veux afficher.
    SetScrollInfo est une alternative à d'autres fonctions liées aux scrollbars. Il me semble que certaines fonctions ne supportent pas des valeurs supérieures à 65535, d'autres si.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. [TextBox] [listBox] gestion des scrollbars
    Par maxdwarf dans le forum Windows Forms
    Réponses: 1
    Dernier message: 22/01/2008, 13h36
  2. [reseaux] Gestion des threads en perl
    Par totox17 dans le forum Programmation et administration système
    Réponses: 2
    Dernier message: 28/11/2002, 09h40
  3. Gestion des variables - mémoire ?
    Par RIVOLLET dans le forum Langage
    Réponses: 4
    Dernier message: 26/10/2002, 12h44
  4. Réponses: 4
    Dernier message: 04/07/2002, 12h31
  5. c: gestion des exceptions
    Par vince_lille dans le forum C
    Réponses: 7
    Dernier message: 05/06/2002, 14h11

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