begin process at 2010 02 10 11:31:11
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Delphi

 > 

Divers

 > 

Débutant(e)

 > 

Deplacer des items dans un listbox


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Deplacer des items dans un listbox

mardi 25 juillet 2006 à 13:01:23 | Deplacer des items dans un listbox

seba31stien

Bonjour, j'utilise un composant TUpDown pour déplacer les items d'un listbox. or je n'arrive pas à modifier la propriété itemindex de l'élément sélectionné. merci pour tout aide Seb mon code : procedure TForm_PersoFH.UPD_POSITION_BONDOnClick(Sender: TObject; Button: TUDBtnType); var i_mov : integer; begin if (Button=btNext) then for i_mov:=LBX_CROSSED_BOND.Items.Count-1 downto 0 do if LBX_CROSSED_BOND.Selected[i_mov] then begin with LBX_LIST_BOND do //???? Items.Strings[i_mov].ItemIndex:=Items.Strings[i_mov].ItemIndex-1; end; end;
mardi 25 juillet 2006 à 13:20:33 | Re : Deplacer des items dans un listbox

ThWilliam

Membre Club
Réponse acceptée !
Salut,

Si cela peut t'aider, voici un petit code pour remonter de 1 position l'élément sélectionné.

procedure TForm1.Button1Click(Sender: TObject);
var
    P: integer;
begin
  with ListBox1 do
      if ItemIndex > 0 then
      begin
          P:= ItemIndex -1;
          Items.Move(ItemIndex, P);
          ItemIndex:= P;
      end;
  end;
end;

A +
Thierry
mardi 25 juillet 2006 à 13:52:25 | Re : Deplacer des items dans un listbox

seba31stien

Merci, ton code remonte ma ligne en première position dans la listbox. Par contre, si j'enlève la ligne : ItemIndex:= P; ça fait ce que je recherchais.
mardi 25 juillet 2006 à 14:01:43 | Re : Deplacer des items dans un listbox

Francky23012301

Membre Club
Salut, Seb : il ya pleins de choses qui vont pas dans ton code : c'est mal indexé deja : procedure TForm_PersoFH.UPD_POSITION_BONDOnClick(Sender: TObject; Button: TUDBtnType); var i_mov : integer; begin If (Button=btNext) then For i_mov:=LBX_CROSSED_BOND.Items.Count-1 downto 0 do If LBX_CROSSED_BOND.Selected[i_mov]then LBX_LIST_BOND.Items.Strings[i_mov].ItemIndex:=LBX_LIST_BOND.Items.Strings[i_mov].ItemIndex-1; end; Ensuite pas besoin de mettre un with do pour 1 ligne de code . Ensuite ton dernier begin/end est inutile. Ensuite pour jouer avec les items tu fais (sur la forme) tout ce qu'il ne faut pas faire. @+ Bon coding
mardi 25 juillet 2006 à 14:53:43 | Re : Deplacer des items dans un listbox

seba31stien

merci pour ces conseils
mercredi 26 juillet 2006 à 04:13:03 | Re : Deplacer des items dans un listbox

f0xi

Membre Club Administrateur CodeS-SourceS





// Faire remonter l'item selectionné dans la liste
procedure TForm1.ButtonUpClick(Sender: TObject);
begin
  with ListBox1 do begin
    if ItemIndex < 1 then exit;
    Items.Exchange(ItemIndex, ItemIndex-1);
  end;
end;

// Faire descendre l'item selectionné dans la liste
procedure TForm1.ButtonDownClick(Sender: TObject);
begin
  with ListBox1 do begin
     if ItemIndex > Count-2 then exit;
     Items.Exchange(ItemIndex, ItemIndex+1);
  end;
end;



avec prise en charge de la multiselection :


procedure TForm1.ButtonUpClick(Sender: TObject);
var i : integer;
begin
  with ListBox1 do begin
     if not multiselect then begin
        if ItemIndex < 1 then exit;
        Items.Exchange(ItemIndex, ItemIndex-1);
     end else
        for i := 0 to Count-1 do
            if Selected[i] then begin
               if I < 1 then exit;
               items.Exchange(i,i-1);
               Selected[i-1] := true;
            end;
  end;
end;

procedure TForm1.ButtonDownClick(Sender: TObject);
var i : integer;
begin
  with ListBox1 do begin
     if not multiselect then begin
        if ItemIndex > Count-2 then exit;
        Items.Exchange(ItemIndex, ItemIndex+1)
     end else
        for i := count-1 downto 0 do
            if Selected[i] then begin
               if I > Count-2 then exit;
               items.Exchange(i,i+1);
               Selected[i+1] := true;
            end;
  end;
end;




Croc (click me)


Cette discussion est classée dans : listbox, mov, items, itemindex, lbx


Répondre à ce message

Sujets en rapport avec ce message

handle [ par lugdanum ] bonsoir voilà je récupère toutes les fenetres d'ouvertes dans une listbox et je voudrais qu'elles se ferment toutes. j'ai regardé les exemples sur le listbox:=probleme!! [ par lugdanum ] bonjour tout le monde: voilà j'ai un boutton qui fait descendre (ou monter)l'élément séléctionner dans une listbox avec ce code: procedure TFormMain.B scrollbar des listbox [ par Nebula ] Bonjour à tous, J'aimerais faire en sorte que mes listbox désactivent leur scrollbar verticale au lieu de la masquer lorsqu'il n'y a pas assez d'item listbox items [ par TouTSpeed ] bonjour à tous voila je débute en delphi (dephi 6)et j'ai un léger problèmesj'ai deux listbox      listbox1 et listbox2dans la première j'arrive à sél Listbox erreur [ par Valeriu ] J'ai mit une timer sur un form.A chaque 300 ms il prenne le contenu d'un fichier text et il le met dans une listbox.La pb c'est qu'il le met aussi sur Comment faire la somme d'items [ par Francky23012301 ] Salut à tous : Voila j'ai une listbox contenant différents items : J'ai besoin de récuperer dans un TEdit l'ensemble des itemps par exemple "Edit1.t RAJOUT D'UN STRING DANS LISTBOX ET SAUVEGARDE [ par guy jeuniaux ] JE reformule car il y a eu erreur dans le message précédentJe met un listbox sur ma form.Dans la propriété items je rentre quelques strings.Je met un Erreur d'imbrication des boucles? Comparer 2 listbox [ par dhp9951 ] Bonsoir, par utilisation des boucles, je veux comparer le contenu d'une listbox2 avec le contenu d'une listebox1 et si un item est identique, copier c listbox et items selectionné [ par shell13010 ] Bonjour a tous, je me trouve fasse a un probleme que j'arrive pas a resoudre j'ai un listbox et je voudrais que quand une personne click sur une item listbox et savoir si il y a une items qui est vide alors supprime.. [ par shell13010 ] Bonsoir a tous,J'aimerais savoir si dans un listbox il y a des items qui son vide alors on les supprimes... exemplecooooo      //ici c'est vide alors


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,699 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales