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

Téléchargez Pascal Discussion :

Composant TSlideBar


Sujet :

Téléchargez Pascal

  1. #1
    Membre chevronné
    Composant TSlideBar
    Bonjour à tous,

    Je vous propose un nouvel élément à utiliser : Composant TSlideBar

    TSlideBar est un composant semblable à TTrackBar, mais au look entièrement personnalisable et indépendant de l'OS.
    Dérivé de TGraphicControl, il est donc transparent.
    5 styles prédéfinis pour une utilisation rapide + style bsOwnerDraw (dessin dans événement OnPaint).
    Soyez créatifs, modifiez ou créez de nouveaux styles. C'est très simple à faire, et je suis à votre disposition pour toute explication.
    Le zip comprend une démo (rien à installer).
    Testé sous Win7, Win8, Linux mint.

    Merci d'avance pour vos commentaires.

    Thierry

  2. #2

  3. #3
    Membre chevronné
    Merci Roland.

  4. #4
    Expert éminent sénior
    Salut,

    comme tu en as parlé dans une discussion récente, je suis allé jeter un œil curieux, et je me permets de te faire remonter les points suivants :
    - retouche de la largeur du curseur (1 point de moins) ;
    - retouche de la largeur du slide lui-même, 4 points de moins (1 à droite, et 2 + 1 à gauche) afin d'uniformiser le graphisme.

    Dans le zip joint bitmap3.bmp (le curseur) et bitmap4.bmp (la piste), à charge pour chacun de s'en dépatouiller.


    Et ça donne ça :


    Un soupçon de modif de code, dans le FormCreate :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
       for i:= 0 to 2 do
          with TSlideBar.Create(self) do
             Width:= 40; //44 -- largeur du bitmap
       //aide-mémoire : Panel2.Width = ((SlideBar.Width + 1) * NbreSlideBar) + 1



    Une remarque : vraiment pas moyen de focaliser la chose ? Ayant récemment travaillé sur un outil avec une dizaine de faders côte à côte, je peux te dire qu'y accéder rien qu'au clavier par <TAB> / <majTAB> et les flèches monte-descend pour +/-1 et-ou page_avant-page_arrière pour +/- 5 ou carrément +/-10, c'est d'une efficacité redoutable, vraiment que du bonheur.
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  5. #5
    Membre chevronné
    Salut JP.

    Depuis que tu fais du graphisme intensif (voir ton post qui restera dans les annales , tu as attrapé un oeil de sioux

    "vraiment pas moyen de focaliser la chose ?"

    Non, puisque la classe ancêtre est TGraphicControl, ce qui permet aisément la transparence.

    Je voulais justement éviter la focalisation car sinon, il faut indiquer graphiquement quel composant la détient.
    Windows indique la focalisation d'un TTrackBar (ou Checkbox...) en l'entourant d'un rectangle en pointillé (DrawFocusRect) : horrible !!!

    Quant-à la rapidité avec le clavier... faisons un concours face à une table de mixage 32 pistes
    Evidemment, pour les utilisateurs d'un portable sans souris branchée, c'est tout autre chose.

  6. #6
    Expert éminent sénior
    Coucou, Thierry,
    Citation Envoyé par ThWilliam Voir le message
    Depuis que tu fais du graphisme intensif (voir ton post qui restera dans les annales , tu as attrapé un oeil de sioux
    lol, je l'avais déjà, ça vient de mon amour pour la typo, les belles phrases, les beaux livres, etc.

    Citation Envoyé par ThWilliam Voir le message
    "vraiment pas moyen de focaliser la chose ?"

    Non, puisque la classe ancêtre est TGraphicControl, ce qui permet aisément la transparence.

    Je voulais justement éviter la focalisation car sinon, il faut indiquer graphiquement quel composant la détient.
    J'y ai pensé aussi, et je me suis dit qu'il faudrait gérer ça un peu comme sont gérées les vrais tranches des consoles : avec des loupiotes !
    En haut à gauche une led rouge/verte pour la tranche active ou pas, et à droite une autre, jaune ou éteinte, indiquant le focus.

    Le seul problème, c'est de déterminer si rouge veut dire "attention ! danger ! je bosse" ou plutôt "je suis éteinte" et si vert signifie "je bosse" ou "je suis libre".

    C'est un problème qui est parfois discuté en termes d'ergonomie, et il paraît que ça dépend des cultures ; à l'instant où je pianote ça, je n'ai pas d'avis tranché. Peut-être s'inspirer des bonshommes des panneaux de signalisation : vert je peux marcher (= je ne suis pas bloqué) courir avancer reculer, rouge y a rien qui bouge. Pourquoi pas.

    Tiens, suis en train de penser que si tes sliders sont transparents, pourquoi ne pas les coupler avec un TPanel dessous, qui deviendrait jaune (ou autre) à la prise de focus.

    Ou même sans led's, juste le TPanel dessous :
    • vert je bosse et donc je peux passer jaune au TAB
    • rouge je suis inactif mais sur l'événement onKeyDown tu testes les touches mM aA pour activer/désactiver la tranche -- Ah, il faut un rappel de l'état : donc jaune citron si la tranche est active et jaune bien orange si elle ne l'est pas.


    Enfin, c'est deux-trois trucs balancés viteuf depuis le keyboard

    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

###raw>template_hook.ano_emploi###