Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Problema con ListView, (https://www.clubdelphi.com/foros/showthread.php?t=73721)

angelp4492 12-05-2011 13:26:39

Problema con ListView,
 
Hola como estan, a ver si me pueden ayudar, tengo el siguiente codigo que lo utilizo para subir una posición en un listview la fila seleccionada.

Código Delphi [-]
procedure TFrmMain.BtnSubeClick(Sender: TObject);
var
i,j,k:integer;
aux1,aux2,aux3,aux4:string;
begin
lvcopy.MultiSelect:=false;
lvcopy.SetFocus;

LvCopy.Selected:=Lvcopy.Items[seleccion];


if LvCopy.Selected = nil then
 begin
  application.MessageBox(pchar('No hay Ninguna Selección.'),pchar('Información'), (MB_OK + MB_ICONINFORMATION));
  exit;
 end;
for i:=0 to LvCopy.Items.Count-1 do
  begin
    if LvCopy.Items[i].Selected then
      begin
          if i=0 then exit;
          aux1:=LvCopy.Items[i].SubItems[0];
          aux2:=LvCopy.Items[i-1].SubItems[0];
          aux3:=LvCopy.Items[i].SubItems[1];
          aux4:=LvCopy.Items[i-1].SubItems[1];
          LvCopy.Items[i].SubItems[0]:=aux2;
          LvCopy.Items[i-1].SubItems[0]:=aux1;
          LvCopy.Items[i].SubItems[1]:=aux4;
          LvCopy.Items[i-1].SubItems[1]:=aux3;
          LvCopy.Selected:=Lvcopy.Items[i-1];
          seleccion:=seleccion-1;
         exit;

      end;
  end;

end;

El problema que tengo esque cuando tengo muchos item y me aparece el scrollbar vertical, si quiero subir un item de los ultimos al llegar arriba del listview tengo que ir moviendo el scroll automaticamente para que se vaya mostrando la linea y no se como :) alguna idea

roman 12-05-2011 16:03:26

El ListItem tiene el método MakeVisible que sirve para asegurar que el ítem es visible en el ListView. Quizá te sirva.

// Saludos

angelp4492 12-05-2011 18:07:13

Cita:

Empezado por roman (Mensaje 399804)
El ListItem tiene el método MakeVisible que sirve para asegurar que el ítem es visible en el ListView. Quizá te sirva.

// Saludos

Gracias, con esto ya consigo que se vea, pero me he dado cuenta que funciona fatal, como podría hacer que al llegar al ultimo item visible, que este se posicionara el primero en el caso de estar bajando y el último en caso de estar subiendo??


La franja horaria es GMT +2. Ahora son las 00:50:06.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi