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 :

Accès aux propriétés ScrollBar d'un composant TMemo


Sujet :

C++Builder

  1. #1
    Membre à l'essai
    Profil pro
    Retraité
    Inscrit en
    Octobre 2003
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Octobre 2003
    Messages : 14
    Points : 14
    Points
    14
    Par défaut Accès aux propriétés ScrollBar d'un composant TMemo
    Bonjour à tous,

    J'utilise un composant TMemo (C++ Buider 5) pour afficher (éventuellement modifier) des données. J'ai activé la
    propriété vertical ScrollBars pour faire défiler les données.
    Je voudrai ajouter dynamiquement des données quand l'utilisateur clique sur la ScrollBar et que l'on arrive à la fin des données.
    Deux problèmes se posent :
    1 Si les données tiennent entièrement dans la fenetre, la ScrollBar n'est pas activée
    2 Si les données ne tiennent pas dans la fenetre, la ScrollBar est activée, mais je ne sais pas comment détecter si la fenetre affiche les dernières données.

    Quelqu'un a t-il une idée ?

  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
    Bonjour
    pour savoir si le scroll vertical est affiché, tu peux essayer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    BOOL GetScrollRange(Memo->Handle,  SB_VERT,  &MinPos, &MaxPos);
    Tu fais quelques essais pour connaître les valeurs renvoyées lorsque le scroll n'est pas valide, d'après MSDN, ce pourrait être 0 pour MinPos et MaxPos ou un retour égal à zéro de la fonction.

    Pour positionner sur la dernière ligne de la fenêtre munie d'un scroll vertical tu peux essayer ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    PostMessage(Memo->Handle, WM_VSCROLL, SB_ENDSCROLL, NULL, NULL)
    ou
    SetScrollPos(Memo->Handle,  SB_VERT, 100, TRUE);
    (100 parceque part défaut la valeur du scroll varie de 0 à 100)

  3. #3
    Membre à l'essai
    Profil pro
    Retraité
    Inscrit en
    Octobre 2003
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Octobre 2003
    Messages : 14
    Points : 14
    Points
    14
    Par défaut
    Merci a Trap D.

    J'ai fait quelques essais. Je vais pouvoir me débrouiller avec cela.
    J'avais tout simplement pas pensé à aller voir du coté de l'API Win32.

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

Discussions similaires

  1. Accès aux propriétés d'une autre base
    Par Domi2 dans le forum VBA Access
    Réponses: 2
    Dernier message: 08/09/2007, 14h50
  2. De l'accès aux propriétés d'une classe
    Par izguit dans le forum C#
    Réponses: 5
    Dernier message: 21/08/2007, 17h00
  3. Zone de liste, accès aux propriétés par code
    Par AndréPe dans le forum VBA Access
    Réponses: 3
    Dernier message: 10/02/2007, 10h41
  4. Réponses: 4
    Dernier message: 22/12/2005, 11h43
  5. [Problème] Accès aux propriétés de listes nommées avec []
    Par VincentL dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/10/2005, 16h13

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