Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.11.2019, 11:05   #1
DMITRIY_78
Форумчанин
 
Регистрация: 11.12.2018
Сообщений: 202
По умолчанию систематизировать метод 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, 16:23   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

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

у меня туго со 2 и 3 пунктом , хотя бы пример не большой
Что нас не убивает, то делает нас сильными!
Всё гениальное просто, всё простое гениально!
DMITRIY_78 вне форума Ответить с цитированием
Старый 21.11.2019, 10:33   #4
DMITRIY_78
Форумчанин
 
Регистрация: 11.12.2018
Сообщений: 202
По умолчанию

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

Код:

'в классе модуле 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 в 10:38.
DMITRIY_78 вне форума Ответить с цитированием
Старый 21.11.2019, 10:57   #5
DMITRIY_78
Форумчанин
 
Регистрация: 11.12.2018
Сообщений: 202
По умолчанию

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

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

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

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

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

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

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


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Событие 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