Delphi Can
Cxgrid Konumunu Dinamik olarak Değiştirmek - Baskı Önizleme

+- Delphi Can (https://www.delphican.com)
+-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3)
+--- Forum: Genel Programlama (https://www.delphican.com/forumdisplay.php?fid=6)
+--- Konu Başlığı: Cxgrid Konumunu Dinamik olarak Değiştirmek (/showthread.php?tid=7529)



Cxgrid Konumunu Dinamik olarak Değiştirmek - endmuh - 08-12-2023

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;


Cvp: Cxgrid Konumunu Dinamik olarak Değiştirmek - endmuh - 08-12-2023

(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?


Cxgrid Konumunu Dinamik olarak Değiştirmek - 3ddark - 08-12-2023

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


Cvp: Cxgrid Konumunu Dinamik olarak Değiştirmek - m_ekici - 09-12-2023

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;



Cvp: Cxgrid Konumunu Dinamik olarak Değiştirmek - endmuh - 09-12-2023

(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