herkse merhablar sorum şu;
mouse'u bir obje içerisine (panel olabilir) kilitleme yani o objenin height ve width alanları arasında sınırlama yapmak
bunun için bir algoritma veya senaryo olabilir direk program istemiyorum çünkü bu iş için nerden başlıcam onu öğrenmem lazım nesnelerin hangi özelliklerini neyi kullancam (apımi dll'mi...!)
delphi bu iş için hangi nesneleri nesnelerin hangi özellikleribi kullancak onları öğrenmem lazım..
buttonların leftini belirterek formun width ve height alanları arsında rastgele dolatırmıştık galiba bu işin mouse la hiç bir alakası yok....
not sadece bir uğraş içindir hiçbir acelesi yoktur şimdiden vermiş olduğunuz güzel cevaplarınız için teşekkür ederim
mouse'u bir obje içerisine kilitleme
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 401
- Kayıt: 22 Tem 2004 02:03
- Konum: sıkıntı çekmişlere yakın bi yerden
mouse'u bir obje içerisine kilitleme
type
Tform1 = class(Tform)
Tform1 = class(Tform)
- ahmet_sinav
- Üye
- Mesajlar: 263
- Kayıt: 17 Nis 2004 07:44
- Konum: İzmir Yeşilyurt Ulu Cami
- İletişim:
bu olay için ilgili nesnenin onmousemove() eventını kullanabilirsiniz.
Onmousemove eventında imlecin hangi koordinatlarda olduğunu bulabilirsiniz.buna göre de gerekli kontrolleri yapabilirsiniz.
misalen
gibi.
Saygılar;
Onmousemove eventında imlecin hangi koordinatlarda olduğunu bulabilirsiniz.buna göre de gerekli kontrolleri yapabilirsiniz.
misalen
Kod: Tümünü seç
procedure TForm_StokHareketleri.FormMouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
if x>=10 then x:=10;//x koordinat kontrolü
if y>=50 then y:=50;//y koordinat kontrolü
if x<=5 then x:=5;//x koordinat kontrolü
if y<=10 then y:=10;//y koordinat kontrolü
label4.Caption:='x==>'+inttostr(x)+'y==>'+inttostr(y);//x ve y 'nin koordinatlarını gözlemliyoruz
Mouse.CursorPos:=Point(x,y);//istediğimiz yere mouse kursorünü getiriyoruz
end;
Saygılar;
-
- Üye
- Mesajlar: 401
- Kayıt: 22 Tem 2004 02:03
- Konum: sıkıntı çekmişlere yakın bi yerden
- sadettinpolat
- Moderator
- Mesajlar: 2131
- Kayıt: 07 Ara 2003 02:51
- Konum: Ankara
- İletişim:
ReleaseCapture olabilir tam olarak hatırlamıyorum ama böyle bir api vardı galiba. İmleci belirlediğiniz bir nesnenin sınırları içierisine hapsediyordu. Çizim programlarında fare çizim alanından çıkmasın diye kullanıldığı yerler vardı. Çizim alanı dışına çıkmaya çalıştığınızda imleç sanki görünmez bir bariyere çarpıp duruyordu 

ClipCursor(r:PRect) winapi si bu iş icin.
mouse tıklanınca sınırlardan kurtuluyor
yada ClipCursor(nil) kullanılıyor.
kolay gelsin
Kod: Tümünü seç
procedure TFrmMain.Button1Click(Sender: TObject);
var
r: TRect;
begin
r.Top:=10;
r.Left:=100;
r.Bottom:=20;
r.Right:=150;
ClipCursor(@r);
end;
yada ClipCursor(nil) kullanılıyor.
kolay gelsin
ÜŞENME,ERTELEME,VAZGEÇME