![]() |
TMS AdvStringGrid Ole DragDrop von Zelle zu Zelle geht nicht
Hallo Zusammen,
ich habe nach Handbuch versucht OleDragDrop zu implementieren, doch leider ohne Erfolg. Ich vermute das ich irgend eine Eigenschaft im Eigenschafteninspektor verstellt habe und es deshalb nicht funktioniert. Wenn ich die Doku richtig gelesen habe, funktioniert DragDrop indem: Unter Eigenschaften DragDropSettings eingestellt ist: OleAcceptFiles, OleAcceptText, OleAcceptURLs, OleDropSource und OleDropTarget. ShowCells kann nicht gesetzt werden. Weis der Geier warum nicht. -OnOleDrag Allow wird auf true gesetzt wenn DragDrop erlaubt ist. -OnDragStart zwischenspeichern der Quellkomponente aus dieser DragDrop initiiert wurde. -OnDragOver wird gefeuert wenn die Zielkomponente das Grid ist und gibt die Ziel-Zelle an fürs Drop -OnDragStop löscht die gemerkte Quellkomponente nach dem Drop -OnOleDropCol wird gefeuert wenn das Drop durchgeführt werden soll und liefert die Zelle Bei mir wird OnOleDrag und OleDragStart gefuert, jedoch alle anderen Events nicht.
Delphi-Quellcode:
hat jemand eine Idee?procedure Tfr1.tg1OleDrag(Sender: TObject; ARow, ACol: Integer; data: String; var Allow: Boolean); begin inherited; Allow := ((ARow>0) and (ACol>0) and IsControlKeyPressed); end; procedure Tfr1.tg1OleDragStart(Sender: TObject; ARow, ACol: Integer); begin inherited; ddsource := Sender; end; procedure Tfr1.tg1OleDragOver(Sender: TObject; ARow, ACol: Integer; var Allow: Boolean); begin inherited; Allow := true; //(ddsource = Sender); if Allow then begin sb1.Panels[3].caption := Format('Row%d Col%d',[ARow, ACol]); end;{if} end; procedure Tfr1.tg1OleDragStop(Sender: TObject; OLEEffect: Integer); begin inherited; ddsource := nil; end; procedure Tfr1.tg1OleDropCol(Sender: TObject; ARow, ACol, DropCol: Integer); begin inherited; sb1.Panels[4].caption := Format('Row%d Col%d',[ARow, ACol]); end; Gruß Kostas |
Re: TMS AdvStringGrid Ole DragDrop von Zelle zu Zelle geht n
Stimmt.
Das liegt aber wohl an Problemen mit der Basiskomponente aus der VCL Grid bzw. TStringgrid. Ich habe mal sehr viele Klimmzüge gemacht und es dann auch nur halb hinbekommen. Zwischenzeitlich habe ich alles was auf TGrid basiert, in die Wüste geschickt. Ich verwende als Grid TAdvOutlookList. Bei dieser Komponente funktioniert eigentlich alles, so wie es soll. Ich beine auch, das diese Komponente eleganter aussieht und mehr Möglichkeiten bietet, wenn es n ur um die tabellarische Datenverwaltung geht. Gruß Peter |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz