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

Flex Discussion :

Supprimer/Cacher les éléments des scrollbar d'un Scroller


Sujet :

Flex

  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 56
    Par défaut Supprimer/Cacher les éléments des scrollbar d'un Scroller
    Bonjour, j'ai essayé à peu près tous les exemples que j'ai trouvé sur la toile et rien à faire, ça ne veut pas fonctionner.

    Mon dernier essai est le suivant :
    inspiré des source 1 et source 2
    ... mais ce n'est pas appliqué à un scroller. Je cite adobe (source) :
    Skinning a Scroller control

    The Scroller skin provides scroll bars and manages layout according to the verticalScrollPolicy and horizontalScrollPolicy properties in the Scroller class.

    The Scroller skin layout cannot be changed because it must handle the vertical and horizontal scroll policies. Scroller skins can only provide replacement scroll bars.
    GardenNav.mxml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <s:Scroller width="100%" height="100%" styleName="gardenNavScroller">
    	<s:Group>
    		<gardenplan:GardenPlan id="plan" width="2000" height="2000"/>
    	</s:Group>
    </s:Scroller>
    main.mxml
    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
     
    @namespace s "library://ns.adobe.com/flex/spark";
    @namespace mx "library://ns.adobe.com/flex/mx";
    @namespace local "*";
    @namespace gardeneditor "gardeneditor.*";
     
    .gardenNavScroller {
    	verticalScrollBarStyleName: navScrollBarStyles;
    	horizontalScrollBarStyleName: navScrollBarStyles;
    }
    .navScrollBarStyles {
    	upArrowSkin: ClassReference(null);
    	downArrowSkin: ClassReference(null);
    	trackSkin: ClassReference(null);
    }

  2. #2
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Bonjour,

    tu utilises un Scroller avec un namespace "s" pour Spark. Tu dois donc le skinner en créant un fichier de skin (Flex4) et non pas en changeant "à l'arrache" les parties de skins comme tu tentes de le faire.

    Regarde ici, un composant de type Scroller comprend 4 parties d'habillage (toutes facultatives) à toi de les skinner comme tu veux.

    De la lecture ici

    (avec les articles dans la rubrique "articles similaires")

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 56
    Par défaut Modifier les parts d'un < s:Scroller /> (ScrollerSkin/HScrollBar/VScrollBar/HScrollBarSkin/VScrollBarSkin)
    je sais pas si je suis vraiment nul, mais j'y arrive toujours pas. J'essai d'échanger les scrollbar de base par des scrollbar perso (classe surchargé) mais y a rien a faire. J'ai cherché des exemples mais j'ai rien trouvé en ce qui concerne les scroller. Je tombe, soit sur des exemples de modification de scrollbar, soit sur des examples d'utilisation de scroller, mais jamais sur un exemple de modification de scroller. Est ce que je doit plutôt utiliser un Group et son viewport ? (j'ai vu ça sur une doc adobe mais je trouve plus la page)

    Est ce que quelqu'un pourrait me (nous) donner un exemple simple en MXML où il assigne à un <s:Scroller />, un "CustomHScrollBar" (hérité de HScrollBar) et un "CustomVScrollBarSkin" (skin perso importé ou crée à la main) ? Juste le code pour le scroller, pas celui des CustomHScrollBar et CustomVScrollBarSkin.

    ps: celui qui me dit "google est ton ami" risque de me donner des envies de meurtre, j'ai passé des heures à chercher. Y a un moment où faut se dévouer pour le poser l'exemple, ça servira pas qu'à moi, j'en suis sûr.

  4. #4
    Membre Expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Par défaut
    Salut,

    Je ne sais pas trop ce qui te bloques ou ce que tu veux exactement mais le net regorge d'exemple pour customiser ses scrollbars (le scroller étant un container je ne vois pas comment tu pourrais le customiser )

    Alors pour faire simple dans ton css de ton appli tu met ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    s|VScrollBar {
    	skinClass: ClassReference("org.pkg.skins.VScrollerSkin");
    }
    ton skin mxml pour les vertical scrollbar (juste des références à 4 éléments skinnés):

    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
     
    <s:SparkSkin xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark"
        xmlns:fb="http://ns.adobe.com/flashbuilder/2009" minWidth="13" minHeight="35" 
        alpha.disabled="0.5" alpha.inactive="0.5" >
     
        <fx:Metadata>
        <![CDATA[ 
            /** 
             * @copy spark.skins.spark.ApplicationSkin#hostComponent
             */
            [HostComponent("spark.components.VScrollBar")]
        ]]>
        </fx:Metadata> 
     
        <fx:Script fb:purpose="styling">
            /* Define the skin elements that should not be colorized. 
               For scroll bar, the skin itself is colorized but the individual parts are not. */
            static private const exclusions:Array = ["track", "thumb", "decrementButton", "incrementButton"];
     
            /**
             * @private
             */
            override public function get colorizeExclusions():Array {return exclusions;}
     
            /**
             * @private
             */
            override protected function initializationComplete():void
            {
                useChromeColor = true;
                super.initializationComplete();
            }
        </fx:Script>
     
        <s:states>
            <s:State name="normal" />
            <s:State name="disabled" />
            <s:State name="inactive" />
        </s:states>
     
        <!---  The default skin class is VScrollBarTrackSkin.  
                @copy spark.components.supportClasses.TrackBase#track 
                @see spark.skins.spark.VScrollBarTrackSkin -->
        <s:Button id="track" top="13" bottom="13" height="54" width="13"
                  focusEnabled="false" tabEnabled="false"
                  skinClass="org.pkg.skins.ScrollerTrackSkin" />
     
        <!--- The default skin class is VScrollBarThumbSkin.
                @copy spark.components.supportClasses.TrackBase#thumb 
                @see spark.skins.spark.VScrollBarThumbSkin -->
        <s:Button id="thumb" width="13"
                  focusEnabled="false" visible.inactive="false" tabEnabled="false"
                  skinClass="org.pkg.skins.ScrollerThumbSkin" />
     
        <!--- The default skin class is ScrollBarUpButtonSkin. 
                @copy spark.components.supportClasses.ScrollBarBase#decrementButton 
                @see spark.skins.spark.ScrollBarUpButtonSkin -->
        <s:Button id="decrementButton" top="0" enabled.inactive="false"
                  focusEnabled="false" tabEnabled="false"
                  skinClass="org.pkg.skins.ScrollerLeftButtonSkin" />
     
        <!---  The default skin class is ScrollBarDownButtonSkin. 
                @copy spark.components.supportClasses.ScrollBarBase#incrementButton
                @see spark.skins.spark.ScrollBarDownButtonSkin -->
        <s:Button id="incrementButton" bottom="0" enabled.inactive="false"
                  focusEnabled="false" tabEnabled="false"
                  skinClass="org.pkg.skins.ScrollerRightButtonSkin" />
     
    </s:SparkSkin>
    je te laisse le soin de faire les skins des 4 éléments. et voila ttes les scrollbars vertical de ton appli sont skinnées ...

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 56
    Par défaut
    ok, merci pour ta rapidité
    Mais j'aimerais aussi savoir comment échanger les composants, pas seulement les skins. Je sais pas si c'est possible... ce serait pour personnaliser le comportement en plus de l'habillage.

    un exemple simple en MXML où il assigne à un <s:Scroller />, un "CustomHScrollBar" (hérité de HScrollBar) et un "CustomVScrollBarSkin" (skin perso importé ou crée à la main) ?
    ps : c'est pour ça que j'ai mis l'intitulé "Modifier les parts d'un < s:Scroller /> (ScrollerSkin/HScrollBar/VScrollBar/HScrollBarSkin/VScrollBarSkin)". Je sais pas si ça joue pour le référencement et la recherche ?

  6. #6
    Membre Expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Par défaut
    Pour modifier le comportement il faut que tu hérites du composant, que tu fasses tes modifs, puis que tu créé un skin pour ce composant.

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  7. #7
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 56
    Par défaut
    mmmh... j'ai essayé pas mal de choses, mais ça, jcrois pas


Discussions similaires

  1. Vérifier les valeurs des scrollbars.
    Par dahmane2007 dans le forum Windows Forms
    Réponses: 0
    Dernier message: 18/11/2008, 17h54
  2. comment cacher les onglets des feuilles de calculs ?
    Par arkorrigan dans le forum Excel
    Réponses: 7
    Dernier message: 30/05/2008, 12h57
  3. Cacher les paramètres des liens
    Par DarkWark dans le forum Struts 1
    Réponses: 8
    Dernier message: 31/01/2007, 18h06
  4. Cacher les adresses des liens
    Par jmjmjm dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 24/08/2006, 20h16
  5. Cacher les éléments d'une ComboBox ?
    Par Alexino2 dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 20/05/2006, 14h56

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