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

  1. #21
    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
    Ok, alors en gros il te faut faire ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
         PageControl1->Pages[4]->PageIndex = 1;
         PageControl1->Pages[2]->PageIndex = 4;
    Dans un premier temps, tu ramènes le plus éloigné à la place la plus petite (5 à 2) du coup le 5 devient 2 mais le 2 devient 3. Du coup, tu prends le 3 et le met en 5.
    Il faut juste savoir que si tu modifies l'index d'un onglet et que la nouvelle place est déjà prise, celui qui est bougé est déplacé à droite, sauf si c'est le dernier (pour pas que PageCount soit modifié).

    J'ai testé, et ca marche, après je pense que c'est ce que tu veux.
    Si tu veux un truc plus général, j'y travail ...

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

    Informations forums :
    Inscription : Janvier 2005
    Messages : 935
    Par défaut
    C'est exactement ce que j'ai fait dans ma fonction que j'ai décrite plus haut mais cela ne marche pas.

  3. #23
    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

    Et ton Index1 est bien inférieur au 2, ou le 2 n'est pas le dernier ?

    Je pige pas alors !!
    Jte fais un truc qui fonctionne chez moi, et tu testeras.

  4. #24
    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
    Bon, voilà un code qui fonctionne chez moi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
          if(Index1>Index2)
          {
              PageControl1->Pages[Index1]->PageIndex = Index2;
              PageControl1->Pages[Index2+1]->PageIndex = Index1;
          }
          else
          {
              PageControl1->Pages[Index2]->PageIndex = Index1;
              PageControl1->Pages[Index1+1]->PageIndex = Index2;
          }
    J'ai essayé avec Index1 = 4 et Index2 = 1. Et ca marche bien. Si ca marche pas, dis moi ce que ca fais chez toi.

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

    Informations forums :
    Inscription : Janvier 2005
    Messages : 935
    Par défaut
    C'est bon ca marche. En fait je suis bète mais j'avais oublié de d'enlever le commentaire sur ma fonction.

    Pour les index, Index1 est toujours inférieur a Index2.

    Je stocke également des informations dans une liste qui est indexé exactement de la même manière que mes onglets.

    donc quand j'inverse deux éléments de ma liste, j'inverse également les onglets correspondants.

    J'ai une fonction de tri qui gère cela très bien

    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
     
    // Méthode qui permet de trier la liste des fenêtre
    void TPrincipalForm::TrierLaListeDesFenetres(void)
    {
            // Indice de la boucle principale
            int i = 0;
     
            // On balaye la liste des cibles
            while(i < ListeDesFenetres->Count)
            {
                    // On balaye la liste des cibles à partir de l'indice de la première boucle
                    for(int j = (i + 1); j < ListeDesFenetres->Count; j++)
                    {
                            // On extrait la fenêtre d'indice i
                            TFenetre *FenetreI = (TFenetre *)(ListeDesFenetres->Items[i]);
     
                            // On extrait la fenetre d'indice j
                            TFenetre *FenetreJ = (TFenetre *)(ListeDesFenetres->Items[j]);
     
                            // Si le début de la fenêtre i est supérieur au
                            // début de la fenêtre j
                            if(FenetreI->Debut > FenetreJ->Debut)
                            {
                                    // On inverse les deux fenêtres
                                    ListeDesFenetres->Exchange(i, j);
     
                                    // On inverse les onglets
                                    InverserOnglet(i, j);
                            }
                    }
     
                    // On incrémente l'indice de boucle
                    i++;
            }
    }
    En tout cas merci beaucoup pour ton aide.

  6. #26
    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

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

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, 13h10
  2. Création, modification et suppression de contacts Outlook
    Par bulldozer27350 dans le forum VBA Outlook
    Réponses: 1
    Dernier message: 12/04/2007, 17h19
  3. [C#] modification et suppression depuis un DataGrid
    Par midou25 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 16/11/2006, 10h10
  4. Suivre les modifications et suppression
    Par manudja dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 18/08/2005, 08h42

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