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

Composants FMX Delphi Discussion :

Comportement étrange d'une TListBox stylisée


Sujet :

Composants FMX Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Avatar de Gouyon
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    1 139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 139
    Billets dans le blog
    5
    Par défaut Comportement étrange d'une TListBox stylisée
    Bonjour

    Ce post fait suite à celui ci (findstyleresource ne fonctionne pas) où je cherche à faire une TListBox stylisée contenant pour chaque item une TComboBox.
    Petit rappel:
    Je veux faire ça
    Nom : vue1.jpg
Affichages : 224
Taille : 27,2 Ko

    Pour cela j'ai créé un style
    Nom : vue2.jpg
Affichages : 223
Taille : 72,2 Ko

    Et je remplis ma liste de la façon suivante:

    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
     
        lbTirs.Clear; //vide la TlistBox
        ibatt := -1;
        if rbBatt1.IsChecked then
          ibatt := 0;
        if rbBatt2.IsChecked then
          ibatt := 1;
        if rbBatt3.IsChecked then
          ibatt := 2;
        laBatt := navEnMain.BatterieN[ibatt];
        for itrl := 0 to laBatt.nbTourelles - 1 do
        begin
          trl := laBatt.tourelle[itrl];
          if Not(trl.estHS) then
          begin
            item := TListBoxItem.Create(lbTirs);
            item.Parent := lbTirs;
            item.StyleLookup := 'lbBatterieitemstyle';
            item.ImageIndex := trl.getfloc;
            item.Text := trl.description;
            if item.FindStyleResource<TComboBox>('cbCibles', maCB) then
            begin
              maCB.Items.AddObject('----------', nil);
              iobj := 0;
              nav := navEnMain.getObjectif(trl, iobj);
              while nav <> nil do
              begin
                maCB.Items.AddObject(nav.getNom, nav);
                inc(iobj);
                nav := navEnMain.getObjectif(trl, iobj);
              end;
              maCB.ItemIndex := 0;
            end;
          end;
        end;
    Au premier affichage tout se passe bien mais dès que j’agis sur la barre de scroll à droite mes combobox semble se vider
    Nom : vue1b.jpg
Affichages : 229
Taille : 26,8 Ko

    Une idée???

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 624
    Billets dans le blog
    65
    Par défaut
    Bonjour,

    Quelle version de Delphi ? J'ai déjà eu un problème avec ces scrollings.

    Je ne vois pas de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lbTirs.BeginUpdate; ... lbTirs.EndUpdate;
    Il serait judicieux de les ajouter pour le remplissage

  3. #3
    Membre émérite
    Avatar de Gouyon
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    1 139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 139
    Billets dans le blog
    5
    Par défaut
    C'est la version 11.3
    Pour ce qui est du BeginUpdate; ...EndUpdate; j'ai pas du bien les utiliser car le résultat est pire encore toutes mes combobox sont vides

    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
     
    lbTirs.Clear;
        lbTirs.BeginUpdate;
        ibatt := -1;
        if rbBatt1.IsChecked then
          ibatt := 0;
        if rbBatt2.IsChecked then
          ibatt := 1;
        if rbBatt3.IsChecked then
          ibatt := 2;
        laBatt := navEnMain.BatterieN[ibatt];
        for itrl := 0 to laBatt.nbTourelles - 1 do
        begin
          trl := laBatt.tourelle[itrl];
          if Not(trl.estHS) then
          begin
            item := TListBoxItem.Create(lbTirs);
            item.Parent := lbTirs;
            item.StyleLookup := 'lbBatterieitemstyle';
            item.ImageIndex := trl.getfloc;
            item.Text := trl.description;
            if item.FindStyleResource<TComboBox>('cbCibles', maCB) then
            begin
              maCB.Clear;
              maCB.Items.AddObject('----------', nil);
              iobj := 0;
              nav := navEnMain.getObjectif(trl, iobj);
              while nav <> nil do
              begin
                maCB.Items.AddObject(nav.getNom, nav);
                inc(iobj);
                nav := navEnMain.getObjectif(trl, iobj);
              end;
              maCB.ItemIndex := 0;
            end;
          end;
        end;
        lbTirs.EndUpdate;

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 624
    Billets dans le blog
    65
    Par défaut
    Citation Envoyé par Gouyon Voir le message
    C'est la version 11.3
    Ok, cela me donne le début du challenge : "utiliser des boites de choix (TCombobox) dans un tlistbox"
    Pour ce qui est du BeginUpdate; ...EndUpdate;
    Avant le lbTirs.Clear; tant qu'à faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        lbTirs.BeginUpdate;
        lbTirs.Clear;
    ...
        lbTirs.Endupdate;

  5. #5
    Membre émérite
    Avatar de Gouyon
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    1 139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 139
    Billets dans le blog
    5
    Par défaut
    J'ai déplacé le beginupdate mais ça n'a rien changé toutes mes combobox sont vides

    C'est bien le scroll qui pose problème et ça joue sur les combobox non affichées. Histoire de vérifier j'ai agrandi ma TListBox et si tout est affiché il n'y a pas de problèmes.

  6. #6
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 491
    Par défaut
    salut

    la question est : Que fait tu dans ton scroll pour vider ta combo
    normalement les données ne depende pas de l'affichage

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

Discussions similaires

  1. VMWARE 11 : comportement étrange d'une image
    Par Invité dans le forum VMware
    Réponses: 2
    Dernier message: 25/09/2017, 21h11
  2. [Débutant] Comportement étrange d'une listview
    Par mecyber25 dans le forum C#
    Réponses: 6
    Dernier message: 07/06/2012, 14h10
  3. Réponses: 5
    Dernier message: 07/12/2011, 16h58
  4. Comportement étrange apres une désinstallation
    Par Sunchaser dans le forum Excel
    Réponses: 4
    Dernier message: 06/08/2005, 19h44
  5. comportement étrange d'une jointure ...
    Par amenis dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 10/02/2005, 21h27

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