Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Microsoft Office и VBA > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 20.11.2019, 12:05   #1
DMITRIY_78
Пользователь
 
Регистрация: 11.12.2018
Сообщений: 83
По умолчанию систематизировать метод MouseMove на кнопке

Ребята здравствуйте! подскажите возможно ли что то сделать с MouseMove на кнопках в один "красивый" макрос
Код:
Private Sub CommandButton1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
StatusBar1.Panels(1).Text = CommandButton1.Caption
End Sub

Private Sub CommandButton2_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
StatusBar1.Panels(1).Text =  CommandButton2.Caption
End Sub

.......кнопок много


Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
StatusBar1.Panels(1).Text = ""
End Sub
DMITRIY_78 вне форума Ответить с цитированием
Старый 20.11.2019, 17:23   #2
IgorGO
МегаМодератор
СуперМодератор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,252
По умолчанию

можно
создайте новый Class
опишите в нем событие MouseMove (и реакцию на него)
используйте в форме кнопки этого Class'a
41001804815208 - Яндекс-деньги благодарности за удачные советы и решения можно отправлять прямо сюда)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 20.11.2019, 17:39   #3
DMITRIY_78
Пользователь
 
Регистрация: 11.12.2018
Сообщений: 83
По умолчанию

у меня туго со 2 и 3 пунктом , хотя бы пример не большой
DMITRIY_78 вне форума Ответить с цитированием
Старый 21.11.2019, 11:33   #4
DMITRIY_78
Пользователь
 
Регистрация: 11.12.2018
Сообщений: 83
По умолчанию

сделал по "чайновски" и не работает, что не так не пойму:
этим кодом я проверяю текстовые поля на пустоту

Код:

'в классе модуле Class1
Option Explicit
Public WithEvents oTxtBx As MSForms.TextBox  'создал переменную
 
Private Sub oTxtBx_Change()
If Trim(Controls("TextBox" & ti)) = "" Then Controls("TextBox" & ti).BackColor = &H80C0FF: _
    MsgBox "поле пустое", vbInformation, "информация": Exit Sub
    If Trim(Controls("TextBox" & ti)) > 0 Then Controls("TextBox" & ti).BackColor = &H80000005
End Sub

'в модуле
Option Explicit
Public aoTxtBxes(3 To 15) As New Class1

'на кнопке
Private Sub CommandButton1_Click()
Dim li As Integer
    For li = 3 To 15
        Set aoTxtBxes(li).oTxtBx = Me.Controls("TextBox" & li)
    Next li
End Sub

Последний раз редактировалось DMITRIY_78; 21.11.2019 в 11:38.
DMITRIY_78 вне форума Ответить с цитированием
Старый 21.11.2019, 11:57   #5
DMITRIY_78
Пользователь
 
Регистрация: 11.12.2018
Сообщений: 83
По умолчанию

хрень какая то с этим классом попробовал через пускаю stop - F8. процедура даже не попадает в модулькласса
DMITRIY_78 вне форума Ответить с цитированием
Старый 21.11.2019, 17:28   #6
IgorGO
МегаМодератор
СуперМодератор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,252
По умолчанию

в модуле класса
везде вместо
Controls("TextBox" & ti)
используйте
oTxtBx
41001804815208 - Яндекс-деньги благодарности за удачные советы и решения можно отправлять прямо сюда)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 21.11.2019, 17:42   #7
DMITRIY_78
Пользователь
 
Регистрация: 11.12.2018
Сообщений: 83
По умолчанию

поменял но процедура из кнопки
Код:
Dim li As Integer
    For li = 3 To 15
        Set aoTxtBxes(li).oTxtBx = Me.Controls("TextBox" & li)
    Next li
не обращается к модулю, проверяет поля потом и все тишина
DMITRIY_78 вне форума Ответить с цитированием
Старый 21.11.2019, 18:43   #8
IgorGO
МегаМодератор
СуперМодератор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,252
По умолчанию

по обрывкам кода, который вы выкладываете трудно судить что там у вас в проекте происходит, или чего такого не происходит, что должно было случиться
41001804815208 - Яндекс-деньги благодарности за удачные советы и решения можно отправлять прямо сюда)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 22.11.2019, 10:11   #9
DMITRIY_78
Пользователь
 
Регистрация: 11.12.2018
Сообщений: 83
По умолчанию

прошу прощение за бестолковость свою, пример приложил
Вложения
Тип файла: rar пример.rar (15.8 Кб, 3 просмотров)
DMITRIY_78 вне форума Ответить с цитированием
Старый 22.11.2019, 10:18   #10
DMITRIY_78
Пользователь
 
Регистрация: 11.12.2018
Сообщений: 83
По умолчанию

сработало но не так как я задумал, хотелось бы по нажатию кнопки проверялись текстовые поля по очереди
а срабатывает после того как заполню все поля и после удаление из полей уже срабатывает код, короче через "житомир в пензу"

Последний раз редактировалось DMITRIY_78; 22.11.2019 в 10:27.
DMITRIY_78 вне форума Ответить с цитированием
Ответ
Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Событие MouseMove в Image kion3 Общие вопросы Delphi 22 30.03.2014 12:06
Формы С# . Событие MouseMove Serg94 Помощь студентам 3 04.10.2012 09:49
MouseMove Ko$ Помощь студентам 0 14.11.2011 16:26
Класс и MouseMove ZBEP Общие вопросы Delphi 7 07.04.2011 23:02
MouseMove muinmy Помощь студентам 1 28.09.2010 18:05