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

VB 6 et antérieur Discussion :

Differente Scroll Bar horizontale


Sujet :

VB 6 et antérieur

  1. #1
    Membre éclairé
    Avatar de parp1
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    829
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2005
    Messages : 829
    Points : 872
    Points
    872
    Par défaut Differente Scroll Bar horizontale
    Bonjour je suis a la recherche de Scroll Bar horizontale contenant une propriété particuliere.


    Je souhaite que la valeur du scroll Bar soit afficher avec la scrollbar. En bout de celle ci ou dans 'la cage d'assenceur' la partie autre que le curseur quoi ... lol

    Merci, si vous connaissez un controle qui nous fournis un panel de Scroll Bar je suis interessé.

    MErci a vous.

  2. #2
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    Un controle Label avec fond transparent par exemple ?

  3. #3
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Et tu mets la valeur du scrollBar dans le label lors de l'événement Change et de l'événement Scroll. Les deux, acause le la propriété largeChange.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Private Sub Form_Load()
        With hsbMesure
            .Min = 0
            .Max = 30
            .SmallChange = 1
            .LargeChange = 5
            .Value = 15
            lblValeur.Caption = .Value
        End With
    End Sub
     
    Private Sub hsbMesure_Change()
        lblValeur.Caption = hsbMesure.Value
    End Sub
     
    Private Sub hsbMesure_Scroll()
        lblValeur.Caption = hsbMesure.Value
    End Sub

  4. #4
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Points : 2 416
    Points
    2 416
    Par défaut
    Bonjour,
    Salut ZaZaraignée, ton idée fonctionne parfaitement.
    Ce qui serrait encore plus sympa, c'est que si le "scroll" est employé le label soit situé juste à côté du curseur et qu'il se déplace en même temps. (j'ai déjà vu ça dans une appli.
    C'est réalisable avec l'API GetCurseurPos()
    A+

  5. #5
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Ok! Alors, utilise le controle Slider qui est dans les Microsoft Windows Common Controls 6.0. La propirété Text affiche ce que tu veux comme valeur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Form_Load()
        With Slider1
            .Max = 90
            .Min = 65
            .Value = 65
        End With
    End Sub
     
    Private Sub Slider1_Scroll()
        Slider1.Text = Chr(Slider1.Value)
    End Sub

  6. #6
    Membre éclairé
    Avatar de parp1
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    829
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2005
    Messages : 829
    Points : 872
    Points
    872
    Par défaut
    Merci pour toute vos réponses.

    C'est Jusqu'a nouvel ordre.

  7. #7
    Membre éclairé
    Avatar de parp1
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    829
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2005
    Messages : 829
    Points : 872
    Points
    872
    Par défaut
    Bon voila après un debriefing avec mon chef, je dois absolument utiliser un moyen de faire glisser mes plans. Soit scroll bar soit slider soit autre chose...

    Mais il faut que ce contrôle ait la particularité d'afficher sa valeur sur le même plan que le curseur. Un peu comme une progressbar avec un curseur en plus.

    Deplus j'ai un autre problème.

    Lorsque j'insert un slider sur un controle activeX (usercontrol)et lorsque j'indique qu'a l'événement scroll je souhaites afficher la valeur via la procédure text. Ca ne fonctionne pas.

    Alors que si je mets mon slider sur ma form directement ca fonctionne...

    Est ce qu'il est possible de figer l'info bulle me retournant la valeur?

    Merci pour toute vos réponses.

    Je vous laisse imaginer que le moral est descendu lorsque j'ai appris qu'il fallait tout remagner alors que la fin du stage approche...et que j'avait prévue le temps restant pour la rédaction... Enfin..

  8. #8
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 108
    Points : 16 640
    Points
    16 640
    Par défaut
    Est ce que sa doit ressembler a sa ?
    Sur un Form, un TextBox et un HScrollBar
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    Option Explicit
    Dim BaseLeft As Integer
    Dim PasLeft As Single
    Private Sub Form_Load()
    HScroll1.Move 60, 420, 3885, 345
    HScroll1.Min = 0: HScroll1.Max = 500
    HScroll1.LargeChange = 15: HScroll1.SmallChange = 1
    HScroll1.Value = 0
    PasLeft = (HScroll1.Width - (255 * 2)) / (HScroll1.Max - HScroll1.Min)
     
    Text1.Locked = True: Text1.FontBold = True
    Text1.ForeColor = &H0&: Text1.BackColor = &HC0FFC0
    Text1.Alignment = 2
    Text1.Move 0, HScroll1.Top - Text1.Height - 15, 585, 255
    BaseLeft = (HScroll1.Left + 255) - (Text1.Width / 2)
     
    HScroll1_Change
    End Sub
     
    Private Sub HScroll1_Change()
    Text1.Left = BaseLeft + Int((PasLeft * HScroll1.Value))
    Text1.Text = HScroll1.Value
    End Sub
    Private Sub HScroll1_Scroll()
    HScroll1_Change
    End Sub

  9. #9
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Salut

    J'ai testé ceci:

    Sur une Form, quelques contrôles qui ne font rien mais dont l'un d'eux a le focus au chargement de la feuille. Un HScrollBar et un TextBox

    Le TextBox a ces valeurs de propirétés:
    • Alignment : 2 - Center
    • Apparence : 0 - Flat
    • BackColor : ToolTip
    • Locked : True
    • Visible : False


    Tu dois placer le TextBox un peu au dessus de l'ascenseur du ScrollBar, à gauche (position minimum).

    Le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    Option Explicit
     
    Private maxLeft As Single, minLeft As Single, dist As Single
     
    Private Function Position(xVal As Single) As Single
        Position = dist / HScroll1.Max * xVal + minLeft
    End Function
     
    Private Sub Form_Load()
        minLeft = Text1.Left
        maxLeft = Me.ScaleWidth - Text1.Width
        dist = maxLeft - minLeft
        Text1.Text = HScroll1.Value
    End Sub
     
    Private Sub HScroll1_Change()
        Text1.Text = HScroll1.Value
        Text1.Left = Position(HScroll1.Value)
    End Sub
     
    Private Sub HScroll1_GotFocus()
        Text1.Visible = True
    End Sub
     
    Private Sub HScroll1_LostFocus()
        Text1.Visible = False
    End Sub
     
    Private Sub HScroll1_Scroll()
        Text1.Text = HScroll1.Value
        Text1.Left = Position(HScroll1.Value)
    End Sub
    Il reste cependant à ajuster la largeur du textbox à son contenu.

    Edit : Je viens de me rendre compte que mon code est presque similaire à celui de ProgElecT. Du moins, nos codes font essenciellement la même chose.

  10. #10
    Membre éclairé
    Avatar de parp1
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    829
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2005
    Messages : 829
    Points : 872
    Points
    872
    Par défaut
    Merci bien a vous deux, vous faites un travail super. Je vais essayer de modifier le code afin que la valeur apparaisse dans la cage d'ascensseur.

  11. #11
    Membre éclairé
    Avatar de parp1
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    829
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2005
    Messages : 829
    Points : 872
    Points
    872
    Par défaut
    Bon j'ai encore un petit soucis. mais je pense que les carottes sont cuites...

    La couleur de fond d'un SLIDER n'est pas changeable apparement?...

  12. #12
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    sans avoir recoures aux fonction de l'API de Windows, je ne crois pas. En encore, j'ignore lesquelles il faut utiliser, ou même si ça peut se faire. Quoique les CSS modifie le scrollBar du navigateur, alors ça doit pouvoir se faire. Mais pas sans les API (beurre dé touille où).

  13. #13
    Membre éclairé
    Avatar de parp1
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    829
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2005
    Messages : 829
    Points : 872
    Points
    872
    Par défaut
    Merci a vous deux, encore une fois, je mets le post en pour l'instant car le design de ces slider est un point sensible sur le projet...

    Je hais la mise au point du design graphique.

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

Discussions similaires

  1. Bloquer ou supprimer la scroll bar horizontale mais pas vertical
    Par Epica84 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 02/03/2010, 21h03
  2. Scroll Bar horizontale
    Par Alouka dans le forum MFC
    Réponses: 3
    Dernier message: 01/02/2008, 15h38
  3. Fenetre sans Scroll Bar
    Par nicolas78986 dans le forum MFC
    Réponses: 15
    Dernier message: 01/06/2007, 03h15
  4. [Débutant][JScript] Désactive ma scroll bar
    Par virgul dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/06/2005, 16h55
  5. [BCB5] Défilement automatique des scroll bars
    Par Christophe Brun dans le forum C++Builder
    Réponses: 2
    Dernier message: 05/12/2004, 16h59

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