Zrobiłem aplikację, w której wprowadziłem Comboboxy (listę moich artykułów), ale na razie, aby przewinąć wszystkie artykuły, muszę użyć kursora po prawej stronie. Zgadzamy się, że to czysta "sztuczka", ale chciałbym wiedzieć, czy możliwe jest korzystanie z koła ruletki?
Nie mam komputera przed oczami, ale postaram się Ci odpowiedzieć.
Otwórz moduł formularza, w lewym górnym rogu znajduje się selektor obiektów, a po prawej selektor zdarzeń. Wybierz listę rozwijalną w pierwszym z nich i sprawdź, czy masz zdarzenie, które odpowiada temu, co chcesz zrobić (kółko myszy)
Jeśli nic nie pasuje, będzie musiał zostać zakodowany.
Gdy to zadziała dla jednego, umieść kod w procedurze, zapętl wszystkie kontrolki w formularzu, sprawdź, czy jest to lista rozwijana i dodaj procedurę obsługi, która wskazuje.
W ten sposób wszystkie listy rozwijane będą zachowywać się tak samo.
Czy to by oznaczało, że jeśli chcę korzystać z koła, muszę skopiować cały kod "Dla modułu" i "Dla formularza użytkownika"? Myślę, że będę zadowolony z kursora, ponieważ niekoniecznie mam czas, aby zrozumieć cały kod, który się za nim kryje, nie mówiąc już o moich kolegach, których zamierzam trenować :)
Również dzięki Tobie Yves.T zamierzam przyjrzeć się wydarzeniom.
Wystarczy, że umieścisz część "To put in a module" w module i użyjesz funkcji HookMousse i UnHookMousse tak, jak robi to na samym dole jego kodu.
W przeciwnym razie w przypadku wydarzeń zapomnij o tym, ponieważ, jak powiedziałem w moim samouczku na temat makr, VBA nie pozwala na dziedziczenie i nie pozwala też na dostęp do niektórych funkcji. Tak więc rozwiązanie hakowe jest dla mnie najlepsze.