Announcement

Collapse
No announcement yet.

Drag & Drop aus DBGrid

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Drag & Drop aus DBGrid

    Hallo,<p><p>
    im DB Grid gibt es ja kein Ereignis "OnMouseDown". Ich möchte aber aus deinem DBGrid einen Datenbankwert auf ein anderes Objekt ziehen. <p>
    Mit dem Ereignis "OnCellClick" und dann "BeginDrag" geht das auch. Ist allerdings nicht sehr elegant, weil ja kein richtiges ziehen (erst klicken, dann ziehen).,<p><p>
    Wer weiß einen Trick, um dies zu umgehen?
    <p><p>
    Gruß<p><p>
    Uwe

  • #2
    Dragging from DbGrid

    unit Dbgrid;

    interface

    uses
    DBGrids, Controls, Classes;

    type
    TEDBGrid = class(TDBGrid)
    private
    FOnMouseDown: TMouseEvent;
    FOnMouseUp: TMouseEvent;
    protected
    procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y:
    Integer); override;
    procedure MouseUp(Button: TMouseButton; Shift: TShiftState; X, Y:
    Integer); override;
    published
    Property OnMouseDown : TMouseEvent read FOnMouseDown write
    FOnMouseDown ;
    Property OnMouseUp : TMouseEvent read FOnMouseUp write FOnMouseUp ;
    end;

    procedure Register;

    implementation

    procedure Register;
    begin
    RegisterComponents('Data Controls',[TEDBGrid]);
    end;

    procedure TEDBGrid.MouseDown(Button: TMouseButton; Shift: TShiftState;
    X, Y: Integer);
    begin
    if Assigned(FOnMouseDown) then
    FOnMouseDown(Self,Button,Shift,X,Y);
    inherited MouseDown(Button,Shift,X,Y);
    end;

    procedure TEDBGrid.MouseUp(Button: TMouseButton; Shift: TShiftState; X,
    Y: Integer);
    begin
    if Assigned(FOnMouseUp) then
    FOnMouseUp(Self,Button,Shift,X,Y);
    inherited MouseUp(Button,Shift,X,Y);
    end;

    end

    Comment

    Working...
    X