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.