Einzelnen Beitrag anzeigen

torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#1

Drag bei Doppelklick nicht auslösen - Wie?

  Alt 5. Nov 2008, 13:45
Hallo Wissende,

ich hole mir per Drag und Drop Einträge aus einem Stringgrid in 2 TEdits. Wenn ich aber einen Doppelklick auf das Stringgrid mache wird etwas anderes ausgelöst. Danach ist aber immer noch das Drag&Drop-Symbol aktiv. Ich muss dann mit einem Klick auf ein Control diesen Vorgang immer erst abbrechen.

Folgenden Code nutze ich derzeit:

MouseDown beim Stringgrid:
Delphi-Quellcode:
procedure TForm1.grd_aMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
  aCol, aRow : integer;
begin
  if Button = mbLeft then
    grd_a.MouseToCell(X,Y,ACol,arow);
  if (ACol <> -1) and (ARow <> -1) then
    grd_a.BeginDrag(True);
end;
Doppelklick beim Stringgrid
Delphi-Quellcode:
procedure TForm1.btn_players_nameClick(Sender: TObject);
var
  str_name, str_Layout: String;
  myGrid : TAdvStringgrid;
begin
  Showmessage('tatütata');
end;
DragOver im Edit
Delphi-Quellcode:
procedure TForm1.ed_chg_in_1DragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
begin
  Accept := (Source is TStringGrid);
end;
DragDrop im Edit
Delphi-Quellcode:
procedure TForm1.ed_chg_in_1DragDrop(Sender, Source: TObject; X, Y: Integer);
var
  str_nr,str_name : String;
begin
  //sonstiger code beim Fallenlassen
end;
Drag&Drop ist ok, aber nach dem Doppelklick stört mich einfach, dass das BeginDrag wahrscheinlich noch aktiv ist...Wie kann ich das im Doppelklick killen? EndDarg hat jedenfalls nicht geholfen.
Danke
Tom
  Mit Zitat antworten Zitat