From 5918d9fa8d2ef88aa95783c5a57947c339e05826 Mon Sep 17 00:00:00 2001 From: david Date: Tue, 2 Jun 2009 10:52:07 +0000 Subject: [PATCH] =?UTF-8?q?Mejorado=20el=20copy-paste=20en=20el=20grid.=20?= =?UTF-8?q?Ahora=20es=20m=C3=A1s=20r=C3=A1pido=20y=20sale=20el=20cursor=20?= =?UTF-8?q?de=20reloj=20de=20arena=20cuando=20se=20est=C3=A1=20realizando?= =?UTF-8?q?=20el=20proceso.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES2/trunk@945 0c75b7a4-871f-7646-8a2f-f78d34cc349f --- Source/Base/Utiles/uGridClipboardUtils.pas | 58 +++++++++++++--------- 1 file changed, 34 insertions(+), 24 deletions(-) diff --git a/Source/Base/Utiles/uGridClipboardUtils.pas b/Source/Base/Utiles/uGridClipboardUtils.pas index e854dde8..a9bb2aa0 100644 --- a/Source/Base/Utiles/uGridClipboardUtils.pas +++ b/Source/Base/Utiles/uGridClipboardUtils.pas @@ -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;