AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

cxGrid und DropMaster

Offene Frage von "beber"
Ein Thema von beber · begonnen am 10. Mai 2005
Antwort Antwort
beber

Registriert seit: 15. Sep 2004
Ort: Amsterdam
11 Beiträge
 
Delphi 2007 Professional
 
#1

cxGrid und DropMaster

  Alt 10. Mai 2005, 00:57
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;
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz