Mouse tekerleği sabitleme
Tarih
30/04/2009 09:15
Konu Sahibi
shopen66
Yorumlar
1
Okunma
1781
Konuyu Oyla:
  • Derecelendirme: 4/5 - 1 oy
  • 5
  • 4
  • 3
  • 2
  • 1

Derecelendirme: 4/5 - 1 oy



shopen66
Aktif Üye
Kullanici Avatari
Aktif Üye
59
8
30/03/2009
0
Ankara
Ofis 2003
24/03/2016,21:57
Çözüldü 
Merhaba arkadaşlar benim sorunum farenin tekerleğini döndürünce kayıtlar arasında dolaşmasını engellemek istiyorum ama bunu diğerilen linklere baktım yapamadım.Yüzeysel bir bilgi var orda modüle yazıyorum o kodları sonra mouse diye bi modüle kaydet diyorum programa geçtiğimde halen mouse eskisi gibi çalışıyor.Ben sadece belli bir alanda çalışmasını istiyorum.Biraz daha ayrıntılı yazılırsa bu kodlar çok iyi olacak.Kod yazmada biraz zayıfım kusura bakmayın artık.
shopen66, 30-03-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla


tdsharun
>>> O Şimdi Sivil<<<
Kullanici Avatari
Aktif Üye
778
06/11/2008
225
Kütahya
Ofis 2003
31/12/2011,02:16
Çözüldü 
Bunun için tekrar konu açmanıza gerek yoktu. Size zaten ne yapmanız gerektiğini anlatan linkler verilmişti. Ama neyse, ben tek tek anlatmaya çalışayım:

1- Bir tane modül açıp bu kodları modüle yapıştırıyoruz. Kaydedip çıkıyoruz.

Kod:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
Option Compare Database

Option Explicit

Private Declare Function LoadLibrary Lib "kernel32" _
Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Long

Private Declare Function FreeLibrary Lib "kernel32" _
(ByVal hLibModule As Long) As Long

Private Declare Function StopMouseWheel Lib "MouseHook" _
(ByVal hWnd As Long, ByVal AccessThreadID As Long, Optional ByVal blIsGlobal As Boolean = False) As Boolean

Private Declare Function StartMouseWheel Lib "MouseHook" _
(ByVal hWnd As Long) As Boolean

Private Declare Function GetCurrentThreadId Lib "kernel32" () As Long

Private hLib As Long


Public Function MouseWheelON() As Boolean
MouseWheelON = StartMouseWheel(Application.hWndAccessApp)
If hLib <> 0 Then
    hLib = FreeLibrary(hLib)
End If
End Function

Public Function MouseWheelOFF(Optional GlobalHook As Boolean = False) As Boolean
Dim s As String
Dim blRet As Boolean
Dim AccessThreadID As Long

On Error Resume Next
s = "Sorry...cannot find the MouseHook.dll file" & vbCrLf
s = s & "Please copy the MouseHook.dll file to your Windows System folder or into the same folder as this Access MDB."
hLib = LoadLibrary("MouseHook.dll")
If hLib = 0 Then
    hLib = LoadLibrary(CurrentDBDir() & "MouseHook.dll")
    If hLib = 0 Then
        MsgBox s, vbOKOnly, "MISSING MOUSEHOOK.dll FILE"
        MouseWheelOFF = False
        Exit Function
    End If
End If
AccessThreadID = GetCurrentThreadId()
MouseWheelOFF = StopMouseWheel(Application.hWndAccessApp, AccessThreadID, GlobalHook)
End Function

Function CurrentDBDir() As String
Dim strDBPath As String
Dim strDBFile As String
    strDBPath = CurrentDb.NAME
    strDBFile = Dir(strDBPath)
    CurrentDBDir = Left$(strDBPath, Len(strDBPath) - Len(strDBFile))
End Function


2- Modülde kullandığımız fonksiyonu formumuza çağırmak için de formumuzun yüklendiğinde olayına şunu yapıştırıyoruz:

Kod:
Private Sub Form_Load()
Dim blRet As Boolean
blRet = MouseWheelOFF(False)
End Sub


Bu kod neyi ifade ediyor? Şunu:
Dim blRet As Boolean
blRet = MouseWheelOFF(False)


MouseWheelOFF değeri False olursa fare tekerleği hareket etmez.

Şimdi bunun aynısını formumuzun çıkışına tam tersi şekilde koyacak olursak ne olur? Tabii ki hareket etmeyen fare artık hareket etmeye başlar. Diğer bütün uygulamalar için de sorun teşkil etmemiş olur. Bunu da kaldırıldığında olaylarından birine koyarsanız sorun hallolmuş olur:

Kod:
Private Sub Form_Unload(Cancel As Integer)
Dim blRet As Boolean
blRet = MouseWheelON
End Sub


Şimdi bu kodlar sayesinde ne yapmış olduk:

1- Form yüklendiğinde fare tekerleğini engelledik. Böylece kayıtlar arasında dolaşmasını engellemiş olduk.
2- Form kaldırıldığında eski haline döndürdük. Böylece diğer uygulamalarda da engellememiş olduk...

Örnek ve Dll Dosyasını indirmek için tıklayın... 

Cevapla







Konuyu Okuyanlar: 1 Ziyaretçi


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Tarih Son Yorum
Çözüldü mouse sağ klik kısayol menü hatası mehmetbesir 4 980 01/08/2015, 11:23 mehmetbesir
Çözüldü Rapor Üst Bilgisi Sabitleme siyahca 4 1.844 02/08/2013, 09:25 benremix
Çözüldü Fare Tekerleği ile Kayıtlar Arasında Gezmeyi Engellemek metbal 2 986 23/04/2013, 14:35 metbal
Çözüldü kod ile ekranda mouse 'un yerini değiştirmek accessman 2 1.055 05/02/2013, 14:11 C*e*l*o*y*c*e
Çözüldü mouse yönlendirme adsoft 7 2.333 08/06/2012, 12:47 accessman


Türkçe Çeviri: MCTR, Forum Yazılımı: MyBB, © 2002-2016 MyBB Group.
DMCA.com Protection Status
© Desing by XSTYLED| Develops by ozanakkaya