mouse kontrol-forma değil masaüstündeki simgeye sağ tıklıyor
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 216
- Kayıt: 14 Şub 2004 03:13
- Konum: Gebze
- İletişim:
mouse kontrol-forma değil masaüstündeki simgeye sağ tıklıyor
iyi çalışmalar arkadaşlar,
formun on show'una
var
Pt: TPoint;
begin
Pt.X := 190;
Pt.Y := 190;
SetCursorPos(Pt.X, Pt.Y);
Mouse_event( MOUSEEVENTF_RIGHTdown, 0, 0, 0, 0 );
Mouse_event( MOUSEEVENTF_RIGHTup, 0, 0, 0, 0 );
kodlarını yazdım.sorunum form açılınca deaktif görünüyor formurun.activate komutunuda denedim ama olmadı ve mouse formun üstüne bıraktığım dbgride tıklaması gerekirken masaüstündeki dosyaya sağ tıklıyor.acaba nerede hata yapıyorum?
formun on show'una
var
Pt: TPoint;
begin
Pt.X := 190;
Pt.Y := 190;
SetCursorPos(Pt.X, Pt.Y);
Mouse_event( MOUSEEVENTF_RIGHTdown, 0, 0, 0, 0 );
Mouse_event( MOUSEEVENTF_RIGHTup, 0, 0, 0, 0 );
kodlarını yazdım.sorunum form açılınca deaktif görünüyor formurun.activate komutunuda denedim ama olmadı ve mouse formun üstüne bıraktığım dbgride tıklaması gerekirken masaüstündeki dosyaya sağ tıklıyor.acaba nerede hata yapıyorum?
belirttiğiniz 190x190 konumu sanırım dbgridin formun üzerindeki kordinatları. ancak mouse 0x0 noktasını ekranın sol üst köşesi olarak algılıyor. onun için sanırım formun sol üst değerini de kullanmanız lazım.
yani
gibi bi kullanım olması gerekiyor galiba...
yani
Kod: Tümünü seç
Pt.X := 190+form1.left;
Pt.Y := 190+form1.top;
-
- Üye
- Mesajlar: 216
- Kayıt: 14 Şub 2004 03:13
- Konum: Gebze
- İletişim:
-
- Üye
- Mesajlar: 216
- Kayıt: 14 Şub 2004 03:13
- Konum: Gebze
- İletişim:
- White Rose
- Üye
- Mesajlar: 726
- Kayıt: 06 Tem 2005 09:41
- Konum: Güneyden
- İletişim:
-
- Üye
- Mesajlar: 216
- Kayıt: 14 Şub 2004 03:13
- Konum: Gebze
- İletişim:
s.a.
ben tmsdbgrid kullanıyorum.onun gruplama özelliği var.ancak bu özelliği kullanmak için gruplanacak kolonun başlığına sağ tıklamak gerekiyor.veriler gruplanınca tıpkı dbtreeview gibi görünüyor ve kullanıcı açısından çok kullanışlı oluyor.fakat yazdığım kodlarla gridin başlığına sağ tıklamıyor.nedense masaüstündeki dosyaya sağ tıklıyor.ama rakamlarla oynadığımda gridin içine sağ tıklıyor.
ben tmsdbgrid kullanıyorum.onun gruplama özelliği var.ancak bu özelliği kullanmak için gruplanacak kolonun başlığına sağ tıklamak gerekiyor.veriler gruplanınca tıpkı dbtreeview gibi görünüyor ve kullanıcı açısından çok kullanışlı oluyor.fakat yazdığım kodlarla gridin başlığına sağ tıklamıyor.nedense masaüstündeki dosyaya sağ tıklıyor.ama rakamlarla oynadığımda gridin içine sağ tıklıyor.
TMS grid dediginiz bilesen buglarla dolu bir bilesen. Bir an once bileseninizi degistirin DevExpress Grid kullanin. Satin almak icin bana basvurun.. Saka sakamust_sargin yazdı:s.a.
ben tmsdbgrid kullanıyorum.onun gruplama özelliği var.ancak bu özelliği kullanmak için gruplanacak kolonun başlığına sağ tıklamak gerekiyor.veriler gruplanınca tıpkı dbtreeview gibi görünüyor ve kullanıcı açısından çok kullanışlı oluyor.fakat yazdığım kodlarla gridin başlığına sağ tıklamıyor.nedense masaüstündeki dosyaya sağ tıklıyor.ama rakamlarla oynadığımda gridin içine sağ tıklıyor.


Kolay gelsin.
- pasa_yasar
- Üye
- Mesajlar: 570
- Kayıt: 07 Haz 2004 12:35
pixel olarak algıladığı için farkedemediğin birşeyler olabilir. formun üstüne iki edit koy button onclik olayına
Pt.X := strtoint(edit1.text);
Pt.X := strtoint(edit2.text);
ve kalan kodları yazarak mouse olaylarını dene. hangi pixelde nerelere gidiyor. Böylece tam emin olabilirsin. Hataları görebilirsin. Tms kullanmıyorum ama gruplama işleminı yanlış hatırlamıyorsan kod ile yapıyorlardı. ben bir kere öyle yapmıştım galiba. yardımına bakarsan gruplamayı bulabilirsin. bu şekilde gruplandırma yapmaya çalışmak seni yorar. sonuçta nesnelerdeki bütün özellikler kodlarla çalışıyor.
Pt.X := strtoint(edit1.text);
Pt.X := strtoint(edit2.text);
ve kalan kodları yazarak mouse olaylarını dene. hangi pixelde nerelere gidiyor. Böylece tam emin olabilirsin. Hataları görebilirsin. Tms kullanmıyorum ama gruplama işleminı yanlış hatırlamıyorsan kod ile yapıyorlardı. ben bir kere öyle yapmıştım galiba. yardımına bakarsan gruplamayı bulabilirsin. bu şekilde gruplandırma yapmaya çalışmak seni yorar. sonuçta nesnelerdeki bütün özellikler kodlarla çalışıyor.
-
- Üye
- Mesajlar: 216
- Kayıt: 14 Şub 2004 03:13
- Konum: Gebze
- İletişim:
s.a.
bir başka konuda verdiğiniz cevabı kullandığımda oldu.
Pt := ClientToScreen(Pt);
Pt.x := Round(Pt.x * (65535 / Screen.Width));
Pt.y := Round(Pt.y * (65535 / Screen.Height));
Mouse_Event(MouseEVENTF_ABSOLUTE or
MouseEVENTF_MOVE,
Pt.x,
Pt.y,
0,
0);
bu kodları ekleyince gridin başlığına sağ tıkladı ve gruplama oldu.teşekkürler.
bir başka konuda verdiğiniz cevabı kullandığımda oldu.
Pt := ClientToScreen(Pt);
Pt.x := Round(Pt.x * (65535 / Screen.Width));
Pt.y := Round(Pt.y * (65535 / Screen.Height));
Mouse_Event(MouseEVENTF_ABSOLUTE or
MouseEVENTF_MOVE,
Pt.x,
Pt.y,
0,
0);
bu kodları ekleyince gridin başlığına sağ tıkladı ve gruplama oldu.teşekkürler.