Hi,
ich würde gern in meinen TDBGrids 'drag and drop' verwenden, und so neue Datensätze in einer Tabelle anlegen. Leider habe ich mit den folgenden Versuchen keinen Erfolg:
Delphi-Quellcode:
// Drag beginnen
procedure TForm_Main.DBGrid_MasterMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if Button =mbleft then DBGrid_Master.BeginDrag(false);
end;
// Drag and Drop akzeptieren?
procedure TForm_Main.DBGrid_DetailDragOver(Sender, Source: TObject; X,
Y: Integer; State: TDragState; var Accept: Boolean);
begin
if Source is TDBGrid then
begin
accept:= true;
end;
end;
// Erfolgreicher Drag-and-Drop-Vorgang
procedure TForm_Main.DBGrid_DetailDragDrop(Sender, Source: TObject; X,
Y: Integer);
begin
if Source is TDBGrid then
begin
showmessage('Dragdrop');
end;
end;
// Fehlschlag
procedure TForm_Main.DBGrid_DetailEndDrag(Sender, Target: TObject; X,
Y: Integer);
begin
if Target= NIL then
MessageBeep(0);
end;
Leider funktioniert der Vorgang nur, wenn ich den in einem freien Bereich des Grid mit dem D&D beginne. Ich möchte aber auf einem der Datensätze beginnen, so dass dieser der aktuelle Datensatz wird und ich diesen dann beim D&D verwenden kann. Wie kann ich dies realisieren? Kann jemand helfen?
Gruß,
Barnti