![]() |
cxGrid und DropMaster
Hallo zusammen,
ich versuche aus einem cxGrid (von DevExpress) einen Record mittels der DropMaster Komponenten rauszuziehen. Klappt soweit einwandfrei. Allerdings das problem was ich habe ist, das sobald ich auf einen record klicke, den nodrop mauszeiger bekomme. D.h. ich habe nicht den kleinen freiraum, wie wenn ich BeginDrag benutze. Es klappt allerdings einwandfrei, wenn ich die IF-Schleifen in anderer Reihenfolge aufrufe, allerdings zerschiesst sich dann das grid, wenn ich auf einen Column Header klick. (Bedeutet, das ich den Header sofort an dem Zeiger heften habe, wie wenn ich ihn drag'n wuerde) Wuerde mich sehr freuen, wenn mir einer helfen wurde, das kleine aber nervige problem zu loesen.
Delphi-Quellcode:
// sobald ich die reihenfolge aendere, reagiert das grid im header falsch
if AHitTest.HitTestCode = htCell then // Record is being dragged begin if Windows.DragDetect(Handle, ClientToScreen(POINT(X, Y))) then begin
Delphi-Quellcode:
// das ist der drag versuch, an dem ich verzweifel.
procedure TForm1.cxGrid1DBTableView1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var AHitTest: TcxCustomGridHitTest; tempwinctrl:TWinControl; begin ClickPoint := Point(X, Y); AHitTest := (Sender as TcxGridSite).GridView.ViewInfo.GetHitTest(ClickPoint); if AHitTest.HitTestCode = htCell then // Record is being dragged begin if Windows.DragDetect(Handle, ClientToScreen(POINT(X, Y))) then begin // hier bereite ich die drag compo vor tempwinctrl := DMTextTarget1.AcceptorControl; DMTextTarget1.AcceptorControl := nil; curtitle := DM1.DSLinks.DataSet.FieldByName('LinkName').AsString; curlink := DM1.DSLinks.DataSet.FieldByName('LinkAdr').AsString; DMTextSource1.CustomFormatData.Clear; DMTextSource1.CustomFormatData.AddFormat(IntToStr(CF_TEXT), curlink); DMTextSource1.CustomFormatData.AddFormat('FileGroupDescriptor', makeFGDFromURLTitle(curtitle+'.URL')); DMTextSource1.CustomFormatData.AddFormat('FileContents', GetFileContents); DMTextSource1.CustomFormatData.Items[DMTextSource1.CustomFormatData.Count-1].AllowTrailingNull := false; DMTextSource1.CustomFormatData.AddFormat('UniformResourceLocator', curlink); //if Windows.DragDetect(Handle, ClientToScreen(POINT(X, Y))) then DMTextSource1.Execute; DMTextTarget1.AcceptorControl := tempwinctrl; end; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:27 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