Konu Araçları | Seçenekler: | Gösterim Stili
Tarih
30/04/2009 09:15
Konu Sahibi
shopen66
Yorumlar
1
Okunma
2213
Konuyu Oyla:
  • Derecelendirme: 4/5 - 1 oy
  • 5
  • 4
  • 3
  • 2
  • 1

Derecelendirme: 4/5 - 1 oy
Kullanici Avatari

shopen66

Aktif Üye
Aktif Üye
 38
 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.

Kullanici Avatari

tdsharun

>>> O Şimdi Sivil<<<
Aktif Üye
 36
 778
 27
 06/11/2008
231
 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...




Konuyu Okuyanlar: 1 Ziyaretçi

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
Çözüldü mouse sağ klik kısayol menü hatası mehmetbesir 5 1.617 25/10/2017, 11:25
Son Yorum: ates2014
Çözüldü Sekmeli Formda Mouse Move Yazı Rengi Değitirme bentürk 13 997 24/04/2017, 13:16
Son Yorum: bentürk
Çözüldü 2016 Access Mouse El İşareti Nasıl Yapılır bentürk 2 428 22/02/2017, 15:54
Son Yorum: bentürk
Çözüldü Rapor Üst Bilgisi Sabitleme siyahca 4 2.426 02/08/2013, 09:25
Son Yorum: benremix
Çözüldü Fare Tekerleği ile Kayıtlar Arasında Gezmeyi Engellemek metbal 2 1.215 23/04/2013, 14:35
Son Yorum: metbal

Türkçe Çeviri: MCTR, Yazılım: MyBB, © 2002-2018 MyBB Group.