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 :

Déplacement Modification et suppression d`un TTabSheet


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    934
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 934
    Par défaut Déplacement Modification et suppression d`un TTabSheet
    Bonjour à tous

    Dans mon application, les utilisateurs doivent sélectionner une portion de courbe. Chaque portion
    donne lieu a la création d'un onglet.

    Ce que j'aimerais pouvoir faire, c'est :
    - Changer l'ordre des onglets car on ne sélectionne pas forcément les portions dans l'odre.
    - Supprimer un onglet lorsque l'utilisateur supprime une portion
    - Modifier un onglet lorsque l'utilisateur modifie une portion

    Avez vous des pistes ?

    Merci d'avance de votre aide.

  2. #2
    Membre émérite
    Avatar de bandit boy
    Profil pro
    Inscrit en
    Février 2006
    Messages
    916
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 916
    Par défaut
    Salut kurul1,

    Alors, pour tes question, dans l'ordre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    //défini l'index de l'onglet Index en NewIndex
    PageControl1->Pages[Index]->PageIndex = NewIndex;
     
    //supprime l'onglet Index, mais attention, pas de sucide de l'onglet
    delete PageControl1->Pages[Index];
    Sinon, que veux-tu modifier sur l'onglet ?

  3. #3
    Membre éclairé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    934
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 934
    Par défaut
    Dans mon onglet j'ai différents affichages :

    Deux graphiques et un Panel avec des informations. Voilà ce que je veux modifier.

    Je veux égalements modifier le titre de l'onglet car dans le titre de l'onglet, il y a les bornes inférieur et supérieur de ma portion. Pour le titre il n'y a pas de problème pour modifier, c'est simplement le contenu qui me pose problème.


    Pour la modification de l'odre, c'est en fait une inversion d'onglet que je voudrais faire.

    donc si je suis ta méthode, ca devrais donné ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
       // Je mémorise l'index du premier Onglet
       int PageIndex1 = PageControl->Pages[Index1]->PageIndex;
     
       // Je mémorise l'index du deuxième Onglet
       int PageIndex2 = PageControl->Pages[Index2]->PageIndex;
     
       // Je positionne le deuxième onglet à la place du premier
       PageControl->Pages[Index2]->PageIndex = PageIndex1;
     
       // Je positionne le premier onglet à la place du deuxième
       PageControl->Pages[Index1]->PageIndex = PageIndex2;

  4. #4
    Membre émérite
    Avatar de bandit boy
    Profil pro
    Inscrit en
    Février 2006
    Messages
    916
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 916
    Par défaut
    En fait, le truc c'est qu'il positionne tout seul la liste des onglet. Je m'explique si tu dis au dernier onglet de passer en premier, juste l'instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    PageControl->Pages[Dernier]->PageIndex = 1;
    suffit, il repositionne automatiquement le 1er en 2ème, le 2ème en 3ème ...

    Sinon, pour modifier tes composants, ils sont créés dynamiquement ? Tes onglets aussi ?

  5. #5
    Membre éclairé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    934
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 934
    Par défaut
    mes onglets sont créé dynamiquement a chaque fois que je sélectionne une portion.

    je crée l'onglet et tous les composants qu'il comporte.

    Etant donné que les portions ne sont pas créée forcément dans le bon ordre, je trie donc mes portions par ordre croissants dans la liste qui me sert a les mémoriser.

    C'est pourquoi je désire faire des inversions d'onglets. puisque l'indice de la portion dans la liste doit correspondre a l'indice de l'onglet.

    Cette inversion n'est pas forcément entre le premier et le dernier onglet, cela peux se faire entre deux onglets du milieu.

    Concernant la positionnement du dernier en premier, tu fais une petite erreur car l'indice du premier c'est 0 et non 1.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        PageControl->Pages[Dernier]->PageIndex = 0;

  6. #6
    Membre émérite
    Avatar de bandit boy
    Profil pro
    Inscrit en
    Février 2006
    Messages
    916
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 916
    Par défaut
    pardon
    Mais le principe reste le même, et cela fonctionne.
    Je ne sais pas comment tu as conçu tes onglets, personnellement j'ai été aidé par plusieurs personnes sur ce poste :
    http://www.developpez.net/forums/sho...d.php?t=125441
    J'ai retenu la soution de Henderson qui consiste à créer une class "Onglet" de ce fait, quand je créer un onglet, je sais ce qu'il y a dedans.
    Il me suffit de créer un pointeur de la class créé pointant sur l'onglet que je souhaite modifier et j'ai accès a ses composants.
    Henderson explique assez bien la méthode. Je pense que cela pourra t'aider.

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

Discussions similaires

  1. modifs et suppressions à partir d'un GridView
    Par Mohammmed dans le forum Visual Studio
    Réponses: 1
    Dernier message: 30/05/2007, 12h10
  2. Création, modification et suppression de contacts Outlook
    Par bulldozer27350 dans le forum VBA Outlook
    Réponses: 1
    Dernier message: 12/04/2007, 16h19
  3. [C#] modification et suppression depuis un DataGrid
    Par midou25 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 16/11/2006, 09h10
  4. Suivre les modifications et suppression
    Par manudja dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 18/08/2005, 07h42

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