powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Прикрутить одни и те же события к контролу во всех формах одной базы
7 сообщений из 7, страница 1 из 1
Прикрутить одни и те же события к контролу во всех формах одной базы
    #39546446
JavaStudent
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В ленточной форме я написал обработчик событий для перемещения столбов ленточной формы.

1 событие нажал мышку, 2 событие двигаю мышку, 3 событие отпускаю мышку. Столбик улетел на нужную позицию.

Но надоело в для каждой формы, для каждого столбика ленточной формы писать одни и те же 3 события.

Хочется как-то объявить этот контрол, а события прилеплялись к нему сами.
...
Рейтинг: 0 / 0
Прикрутить одни и те же события к контролу во всех формах одной базы
    #39546458
Вакшуль Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JavaStudent,
тю :)
так посмотрите же то решение, которое я для вас сделал - 20797575
Посмотрите что и как делают классы FormScrollBars и FSBControl. Заодно и пользу от использования интерфейсов оцените.
...
Рейтинг: 0 / 0
Прикрутить одни и те же события к контролу во всех формах одной базы
    #39547046
JavaStudent
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вакшуль Сергей, смотрел пример. Но для меня WithEvents пока выше понимания.

Но двигаюсь в этом направлении.
...
Рейтинг: 0 / 0
Прикрутить одни и те же события к контролу во всех формах одной базы
    #39547095
Вакшуль Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JavaStudent,
Посмотрите эту ветку 15027360
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Прикрутить одни и те же события к контролу во всех формах одной базы
    #39841395
JavaStudent
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Решил эту задачку. На форме много label, события одинаковые. На вход передается только имя label.

так прописываем (Initialize) события

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Private Labels As New Collection

Private Sub PutEvent()
Dim contr As Control
   For Each contr In Forms(Me.Name).Controls
       If TypeName(contr) = "Label" Then
              With New ClassLabel
                Call .Initialize(contr, True)
                Labels.Add .Instance
              End With
       End If
   Next
End Sub



Создаем класс и пишем туда

Код: sql
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.
Const EP As String = "[Event Procedure]"
Private WithEvents cmd As Access.Label

Public Sub Initialize(lab As Access.Label)
    Set cmd = lab
       With cmd
         '  .OnMouseDown = EP
         '  .OnMouseUp = EP
          .OnClick = EP
         '  .OnDblClick = EP
         '  .OnMouseMove = EP
       End With
End Sub

Public Property Get Instance() As ClassLabel
    Set Instance = Me
End Property

Private Sub Class_Terminate()
    Set cmd = Nothing
End Sub

Private Sub cmd_Click()
MsgBox cmd.Name
End Sub
...
Рейтинг: 0 / 0
Прикрутить одни и те же события к контролу во всех формах одной базы
    #39841531
Predeclared
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Число аргументов не совпадает.
...
Рейтинг: 0 / 0
Прикрутить одни и те же события к контролу во всех формах одной базы
    #39841699
JavaStudent
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Predeclared, вместо Call .Initialize(contr, True), надо Call .Initialize(contr)
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Прикрутить одни и те же события к контролу во всех формах одной базы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]