Mejorado el copy-paste en el grid. Ahora es más rápido y sale el cursor de reloj de arena cuando se está realizando el proceso.

git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES2/trunk@945 0c75b7a4-871f-7646-8a2f-f78d34cc349f
This commit is contained in:
David Arranz 2009-06-02 10:52:07 +00:00
parent 126cccf82f
commit 5918d9fa8d

View File

@ -599,26 +599,31 @@ begin
if not Assigned(AGrid) then
raise Exception.Create('Grid no asignado (CopiarSeleccionGridAlPortapapelesTXT)');
RegistrarFormatos;
AGridStatus := TcxGridStatus.Create(TcxGridDBTableView(AGrid.ActiveView));
Clipboard.Open;
ShowHourglassCursor;
try
CopiarGridAlPortapapelesTXT(AGrid);
CopiarGridAlPortapapelesRTF(AGrid);
CopiarGridAlPortapapelesHTML(AGrid);
RegistrarFormatos;
AMemStream := TMemoryStream.Create;
AGridStatus := TcxGridStatus.Create(TcxGridDBTableView(AGrid.ActiveView));
Clipboard.Open;
try
SaveGridRowsToStream(TcxGridDBTableView(AGrid.ActiveView), AMemStream, AGrid.ActiveView.Name, True);
CopyStreamToClipboard(CF_FACTUGES, AMemStream);
CopiarGridAlPortapapelesTXT(AGrid);
CopiarGridAlPortapapelesRTF(AGrid);
CopiarGridAlPortapapelesHTML(AGrid);
AMemStream := TMemoryStream.Create;
try
SaveGridRowsToStream(TcxGridDBTableView(AGrid.ActiveView), AMemStream, AGrid.ActiveView.Name, True);
CopyStreamToClipboard(CF_FACTUGES, AMemStream);
finally
FreeAndNil(AMemStream);
end;
finally
FreeAndNil(AMemStream);
Clipboard.Close;
AGridStatus.Restore(TcxGridDBTableView(AGrid.ActiveView));
FreeAndNil(AGridStatus);
end;
finally
Clipboard.Close;
AGridStatus.Restore(TcxGridDBTableView(AGrid.ActiveView));
FreeAndNil(AGridStatus);
HideHourglassCursor;
end;
end;
@ -771,18 +776,23 @@ begin
2. CF_TEXT -> tratar y pegar texto plano
}
RegistrarFormatos;
ShowHourglassCursor;
try
RegistrarFormatos;
if Clipboard.HasFormat(CF_FACTUGES) then
begin
PegarSeleccionGridDesdePortapapeles(AGrid);
Exit;
end;
if Clipboard.HasFormat(CF_FACTUGES) then
begin
PegarSeleccionGridDesdePortapapeles(AGrid);
Exit;
end;
if Clipboard.HasFormat(CF_TEXT) then
begin
PegarTextoDesdePortapapeles(AGrid);
Exit;
if Clipboard.HasFormat(CF_TEXT) then
begin
PegarTextoDesdePortapapeles(AGrid);
Exit;
end;
finally
HideHourglassCursor;
end;
end;