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 VCL Delphi Discussion :

TListbox et multiselection encore...


Sujet :

Composants VCL Delphi

  1. #1
    Membre éclairé

    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2006
    Messages
    621
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Janvier 2006
    Messages : 621
    Par défaut TListbox et multiselection encore...
    Bonjour

    j'ai une liste (lis) contenant une serie de strings representant des langues (mettons francais,anglais) et une autre monstre.languesoffice (multiselect) contenant une autre liste de langues (mettons anglais,francais,allemand). Je vousdrais selectionner dans monstre.languesoffice les langues apparaissant dans lis. J'ai fait ca :

    for i := 0 to lis.Count - 1 do
    begin
    sel := monstre.languesoffice.Items.IndexOf(lis.Strings[i]);
    monstre.languesoffice.Selected[sel] := true;
    end;
    monstre.languesoffice.Refresh;

    et rien n'apparait selectionne. Pourtant controle fait avec showmessahe, sel est bien superieur a 0 a chaque fois.
    selected semble fonctionner en lecture mais pas en ecriture.

    JE SECHE !!!!!

    merci.

  2. #2
    Membre expérimenté
    Avatar de HumanTool
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2006
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2006
    Messages : 276
    Par défaut
    salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sel := monstre.languesoffice.Items.IndexOf(lis.Strings[i]); 
     monstre.languesoffice.Selected[sel] := true;
    et en faisant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     sel := monstre.languesoffice.Items.IndexOf(lis.[i]); 
     monstre.languesoffice.Selected[sel] := sel >= 0;

  3. #3
    Membre éclairé

    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2006
    Messages
    621
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Janvier 2006
    Messages : 621
    Par défaut
    non a priori c'est pas bon. Mon code fonctionne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    showmessage(inttostr(sel)+lis.strings[i])
    indique bien par exemple "2allemand") , sauf que les lignes se mettent pas selectionnees.

    en fait il semblerait que la methode selected soit sans effet si le controle n'est pas affiche.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    monstre.languesoffice.Selected[1] := true; //ne fait rien si appele en dehors de la fenetre monstre
    monstre.languesoffice.Selected[1] := true; // fonctionne si j'execute cette ligne a partir de monstre.edit1change(self)...
    si ca peut eclairer

  4. #4
    Membre éclairé
    Avatar de OutOfRange
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    533
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 533
    Par défaut
    re-salut
    Je viens d'essayer vite fait ça qui fonctionne, même avec la commande form2.showmodal
    la sélection de la listbox de form1 est modifiée lors du clic sur le bouton de form2
    Il doit y avoir autre chose...
    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
    unit Unit1;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, unit2;
     
    type
      TForm1 = class(TForm)
        ListBox1: TListBox;
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
      end;
     
    var
      Form1: TForm1;
     
    implementation
     
     
    {$R *.dfm}
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    form2.showmodal;
    end;
    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
    unit Unit2;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;
     
    type
      TForm2 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
      end;
     
    var
      Form2: TForm2;
     
    implementation
     
    uses Unit1;
     
    {$R *.dfm}
     
    procedure TForm2.Button1Click(Sender: TObject);
    begin
    form1.listbox1.Selected[1]:=true;
    end;

Discussions similaires

  1. Programmer encore en VB 6 c'est pas bien ? Pourquoi ?
    Par Nektanebos dans le forum Débats sur le développement - Le Best Of
    Réponses: 85
    Dernier message: 10/03/2009, 14h43
  2. TEdit (encore)
    Par dj.motte dans le forum C++Builder
    Réponses: 5
    Dernier message: 23/12/2002, 19h02
  3. TPalette (encore)
    Par Flipper dans le forum Langage
    Réponses: 3
    Dernier message: 28/11/2002, 23h45
  4. [TEdit][TListBox]Recherche instantanée
    Par SamDaKap dans le forum C++Builder
    Réponses: 3
    Dernier message: 19/11/2002, 21h31
  5. [Canvas] Listbox, couleur et multiselect
    Par rbag dans le forum Composants VCL
    Réponses: 3
    Dernier message: 25/09/2002, 13h02

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