Delphi Can

Orjinalini görmek için tıklayınız: Cxgrid Konumunu Dinamik olarak Değiştirmek
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link
Merhabalar. Cxgrid nesnesini form üzerinde mouse ile sağa sola taşımak istiyorum Bunu Yaparken formun on create olayında cxgrid nesnesinin eventine dinamik olarak yazmak istiyorum
Onmouse move , Onmouse down , Onmouse UP gibi 
örnek kodum aşağıdaki gibi ama malesef çalıştıramadım.... NOT diğer nesneler için kod çalışıyor (Button, text vs...) Fakat cxgrid için çalışmıyor.

        if  PClassType=TcxGrid then
        begin
        // ShowMessage('Oldu');
          AGrid := TcxGrid(Screen.ActiveForm.FindComponent(CompName));
          AGrid.Hint:=CompName;
          AGrid.ShowHint:=true;
          with Agrid do
          begin
            OnMouseDown:=P_MouseDown;
            OnMouseMove:=P_MouseMove;
            OnMouseUp:=P_MouseUp;
          end;
        end;
(08-12-2023, Saat: 02:18)endmuh Adlı Kullanıcıdan Alıntı: [ -> ]Merhabalar. Cxgrid nesnesini form üzerinde mouse ile sağa sola taşımak istiyorum Bunu Yaparken formun on create olayında cxgrid nesnesinin eventine dinamik olarak yazmak istiyorum
Onmouse move , Onmouse down , Onmouse UP gibi 
örnek kodum aşağıdaki gibi ama malesef çalıştıramadım.... NOT diğer nesneler için kod çalışıyor (Button, text vs...) Fakat cxgrid için çalışmıyor.

        if  PClassType=TcxGrid then
        begin
        // ShowMessage('Oldu');
          AGrid := TcxGrid(Screen.ActiveForm.FindComponent(CompName));
          AGrid.Hint:=CompName;
          AGrid.ShowHint:=true;
          with Agrid do
          begin
            OnMouseDown:=P_MouseDown;
            OnMouseMove:=P_MouseMove;
            OnMouseUp:=P_MouseUp;
          end;
        end;

Bu konuda yorumu olan yok mu? yada konuyu yeterince açık anlatamadım mı acaba?
Tam anlayamamış olabilirsiniz fakat anladığım kadarıyla drag drop işlemi gibi birşey yapmak istiyorsanız. Aşağıdaki video sizin işinizi görecektir 
https://youtu.be/jG2AHvXo4R0?si=noE2zSVCbKzi_Kqo
Bu şekilde hareket ettirebilirsin.

procedure TForm1.cxGrid1DBTableView1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
const
sc_DragMove=$F012;
begin
ReleaseCapture;
cxGrid1.Perform(WM_SYSCOMMAND,sc_DragMove,0);
end;
(09-12-2023, Saat: 10:41)m_ekici Adlı Kullanıcıdan Alıntı: [ -> ]Bu şekilde hareket ettirebilirsin.

procedure TForm1.cxGrid1DBTableView1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
const
sc_DragMove=$F012;
begin
ReleaseCapture;
cxGrid1.Perform(WM_SYSCOMMAND,sc_DragMove,0);
end;

Harika...
Reb