Cita:
Empezado por mRoman
ok...gracias funciona !, he aprendido algo mas, ya lo probe pero ahora hace resolver algo, en lo cual estoy trabajando, el cual combinar las teclas Shift+felcha, para que el usuario pueda "navegar" por las lineas del lisbox libremente y cuando el quiera mover lo haga oprimiendo shift+flecha....
Si tienes alguna idea...bienvenida. y nuevamente gracias !
|
LISTO YA ESTA .... esta es la solucion.
Código Delphi
[-]
procedure TfrmRuta.btnArribaClick(Sender: TObject);
var
Indice:integer;
begin
inherited;
if lBoxLecherias.ItemIndex>0 then
begin
indice:=lBoxLecherias.ItemIndex;
lBoxLecherias.Items.Exchange(Indice,indice-1);
end
else
lBoxLecherias.ItemIndex:=0;
end;
procedure TfrmRuta.btnAbajoClick(Sender: TObject);
var
Indice:Integer;
begin
inherited;
if lBoxLecherias.ItemIndex< lBoxLecherias.Items.Count-1 then
begin
indice:=lBoxLecherias.ItemIndex;
lBoxLecherias.Items.Exchange(Indice,indice+1);
end
else
lBoxLecherias.ItemIndex:=lBoxLecherias.Items.Count-1;
end;
procedure TfrmRuta.lBoxLecheriasKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
if (ssShift in Shift) and (Key=VK_UP) then
btnArribaClick(Sender);
if (ssShift in Shift) and (Key=VK_DOWN) then
btnAbajoClick(Sender);
end;
En este ejemplo, sucede algo raro, utilizando los botones el registro movido no pierde el focus, sigue posicionado en el registro movido,lo cual esta bien para el usuario para que no se pierda en el registro que movio, pero usando las combinaciones de teclas, lo sombreado se pasa al siguiente registro ya sea posterior o anterior con respecto a la nueva posicion....espero haberme explicado, revisare el codigo, se aceptan sugerencias.
MUCHISISISIMAS GRACIAS POR SU AYUDA.