Tekst informacyjny o polityce Cookies Close   
    
 
         
• 1. Strona główna
• 2. Kontakt: e-Mail
 
         
• 1. Baza danych
• 2. Tabele i kwerendy
• 3. Formularze
• 4. Raporty
• 5. Moduły i makra
• 6. Obsługa błędów
 
    

II.   VBA 

    
• 1. Okna Accessa
• 2. Okna Formularzy
• 3.Okna Dialogowe
• 4. Tekst
• 5. Liczby
• 6. Pliki
• 7. Inne
 
    

III.   API 

    
• 1. Ogólnie o API
• 2. Funkcje API
• 3. System
• 4. Praca z oknami
• 5. Okna dialogowe
• 6. API - Inne
 
         
• 1. Bitmapy 24 Bit
• 2. GDI i HDC
• 3. Kody kreskowe
• 4. Formant Image
• 5. FreeImage.dll
 
    

V.   Inne 

    
• 1. Shell i MsDOS
• 2. Kontrolki
• 3. ६ԼҚ ਸ
• 4. Unikod

 
Odwiedzin:

Logo AccessFAQ• I.3. Access - Formularze [2] •

2.10 Jak po zmianie wybranej pozycji z rozwijanej listy ustawić kursor na końcu tekstu ?
2.11 Jak rozpoznać po wyglądzie kursora myszy zdarzenia zachodzące nad selektorem rekordów i nagłówkami kolumn w formularzu w widoku Arkusz danych ?
<<• idź do str. 1 •>>
 

2.10 Jak po zmianie wybranej pozycji z rozwijanej listy ustawić kursor na końcu tekstu ?

grupa: pl.comp.bazy-danych.msaccess
wątek: Pole tekstowe ustawienie kursora
przedstawił: Krzysztof Naworyta i Zbigniew Bratko


Pytanie:
Mam pole kombi .... chciałbym aby po zmianie wybranej pozycji z listy kursor ustawiał się na samym końcu.



Metoda I:  Krzysztofa Naworyty:
Dim boAfterUpdate As Boolean


Private Sub Kombi0_AfterUpdate()
    boAfterUpdate = True
End Sub

Private Sub Kombi0_Change()
With Me.Kombi0
If boAfterUpdate Then
boAfterUpdate = False
.SelStart = Len(.SelText)
End If
End With
End Sub


' dodatkowo: aby skasować końcowy efekt AfterUpdate, po wyjściu i przed ponownym wejściem do pola...
Private Sub Kombi0_Exit(Cancel As Integer)
boAfterUpdate = False
End Sub


Metoda II:
Wykorzystując zwłokę czasową po zajściu zdarzenia AfterUpdate, by w międzyczasie wykonane zostały pozostałe zdarzenia,
Private Sub Combo0_AfterUpdate()
    Me.TimerInterval = 50
End Sub


Private Sub Form_Timer()
    Me.TimerInterval = 0
    Me.Combo0.SelStart = Len(Me.Combo0.Value)
End Sub

 ΔΔΔ 

 

2.11 Kursor myszy - Jak rozpoznać zdarzenia zachodzące nad selektorem rekordów i nagłówkami kolumn w formularzu w widoku Arkusz danych ?

    Problem ten poruszył w 2006 roku Krzysztof Naworyta w przykładzie: DatasheetEvents2k.zip. Identyfikacja kursora myszy odbywa się poprzez zapis ikony kursora jako bitmapy na dysku, wyliczenie identyfikatora z wybranych punktów bitmapy i porównanie tego identyfikatora z wzorcem.
    W przykładzie demonstrowanym poniżej, identyfikacja kursora myszy (a w zasadzie tylko przypisanie każdemu uchwytowi kursora numeru) odbywa się poprzez programowe przesuwanie wskaźnika myszy nad selektorem rekordów i nagłówkami kolumn i odczyt zmieniającego się uchwytu kursora.
    Niestety metoda ta jest wrażliwa na przypadkowy ruch wskaźnika myszy spowodowany przez użytkownika podczas programowego przesuwania wskaźnika w celu odczytania danych o kursorze myszy. W przypadku wystąpienia błędu odczytu danych inicjalizacyjnych kursorów, ponowny odczyt danych dotyczących wszystkich kursów nastąpi w zdarzeniu OnMouseMove.
    Jeżeli obszar znad którego odczytywane są dane inicjalizacyjne kursorów jest zakryty (nawet częściowo) przez formularz typy PopUp, to na czas odczytu danych formularz ten jest ukrywany.
    Tak naprawdę to cały efekt graficznej wizualizacji (utworzenie 9-ciu bitmap i narysowanie na nich kursorów myszy) jest zupełnie niepotrzebny w aspekcie identyfikacji kursora podczas ruchu myszy nad elementami Arkusza danych. Do identyfikacji potrzebna jest jedynie kolekcja uchwytów kursorów myszy i znajomość identyfikatora uchwytu.



Ikony kursora myszy

   Przykład:  • acc03b_11  •  41 KB  •  status: FREE    
Pobrano    razy   

 ΔΔΔ