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

Delphi Discussion :

[D6 Personnel] Rendre invisible une page d'un TPageControl


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de Caine
    Inscrit en
    Mai 2004
    Messages
    1 028
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 028
    Par défaut [D6 Personnel] Rendre invisible une page d'un TPageControl
    Bonjour à toutes et tous.

    Le principe du traitement est le suivant: J'ai une liste d'indice que je parcours. Je parcours ensuite chaque page d'un TPageControl et je compare la propriétée TAG de la page avec l'indice.

    Si TAG = Indice alors je rends la page invisible.

    Quand tous les indices ont été traités, je parcours à nouveau les pages et j'inverse (not) la propriétée Visible.

    Donc à l'arrivé, seules les pages correspondant à un indice sélectionné sont visibles. Mais voilà, il semble que malgrè tout la propriété Visible mise à False ne soit pas prise en compte.

    Un sample du 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
     
    // Si le tag correpond à Indice, rendre invisible
    For J := 1 To Max Do Begin
    With PageControl1 Do Begin
       For I := 0 To PageCount - 1 Do
            If Pages[I].Tag = Indice[J] Then 
               Pages[I].Visible := False;
    End;
    End;
     
    // Inverser la propriété Visible: Seuls les onglets correspodant à la selection sont visibles.
    With PageControl1 Do Begin
       For I := 0 To PageCount - 1 Do
               Pages[I].Visible := Not Pages[I].Visible;
    End;
    Merci d'avance si vous avez une astuce.

  2. #2
    Membre éclairé Avatar de Soulama
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2004
    Messages : 619
    Par défaut
    Ben moi je ferais comme ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    // Si le tag correpond à Indice, rendre invisible
    For J := 1 To Max Do Begin
    With PageControl1 Do Begin
       For I := 0 To PageCount - 1 Do
               Pages[i].TabVisible := Pages[i].Tag <> Indice[J];
    End;
    End;

  3. #3
    Expert confirmé
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Par défaut
    Salut

    Je suis d'accord avec Soulama.
    Il faut que mette à jour ta propriété visible dans les 2 cas puisque tu as 2 boucles imbriquées.

    @+ Claudius

  4. #4
    Membre émérite Avatar de Caine
    Inscrit en
    Mai 2004
    Messages
    1 028
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 028
    Par défaut
    Merci à tous les deux.

    Je n'utilisais donc pas la bonne propriété!

    Je teste ça ce soir.

    [edit]
    Ca marche, mais comment éviter la mise à jour a chaque changement de tabvisible? Je ne trouve pas de méthode BeginUpdtae?

    Merci de votre aide

Discussions similaires

  1. [XL-2010] Rendre invisible une formule personnelle dans une cellule Excel
    Par sebkem dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 03/07/2015, 15h36
  2. Réponses: 4
    Dernier message: 10/08/2007, 09h40
  3. [Novice]Rendre invisible une page au démarrage ! !
    Par _shuriken_ dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 07/04/2006, 00h10
  4. Rendre une page d'un TPageControl invisible
    Par DevelOpeR13 dans le forum Composants VCL
    Réponses: 5
    Dernier message: 10/06/2003, 11h26
  5. comment rendre invisible une FormStyle->fsMDIchild
    Par caluloa dans le forum C++Builder
    Réponses: 5
    Dernier message: 16/05/2003, 14h21

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