Bileşenden Tutarak formu sürükleme.

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
tuna
Üye
Mesajlar: 300
Kayıt: 07 Tem 2008 04:39
Konum: İstanbul

Bileşenden Tutarak formu sürükleme.

Mesaj gönderen tuna »

Arkadaşlar merhaba.
Formun üzerinde label olduğunu düşünün. Ben bu labeli tutup sürüklemeye çalıştığımda formun sürüklenmesini istiyorum. Yani nasıl form penceresinden tutup sürüklediğimiz zaman formun ekrandaki yeri değişiyor.
Aynı şekilde ben formun içindeki label nesnesinden tutup formu sürüklemek istiyorum.
Nasıl yaparım. Teşekürler.
Kullanıcı avatarı
m_ekici
Kıdemli Üye
Mesajlar: 563
Kayıt: 11 Haz 2003 06:49
Konum: Adana
İletişim:

Re: Bileşenden Tutarak formu sürükleme.

Mesaj gönderen m_ekici »

Form üzerindeki tüm componentlerin onMouseDown olayını aşağıdaki paragrafa yönlendir.

Kod: Tümünü seç

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

akdatilla
Üye
Mesajlar: 292
Kayıt: 02 Nis 2006 06:04
Konum: Antalya

Re: Bileşenden Tutarak formu sürükleme.

Mesaj gönderen akdatilla »

Kod: Tümünü seç

var
   oldx,oldy:integer;
   onmdn:Boolean=False;
procedure TForm1.Label1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
     if shift=[ssLeft] then
     begin
          if onmdn then
          begin
               Left:=left+(Label1.left+x-oldx);
               top:=top+(Label1.Top+y-oldy);
          end else
          begin
               onmdn:=true;
               oldx:=Label1.left+x;
               oldy:=Label1.Top+y;
          end;
     end else onmdn:=False;
end;
Cevapla