Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите решить проблему с созданием собственного подменю "Окна"... / 2 сообщений из 2, страница 1 из 1
13.09.2004, 16:19:53
    #32692249
borisb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите решить проблему с созданием собственного подменю "Окна"...
Вот решил приведенной ниже фукцией создать в своем приложении еще один пункт меню (которое я создаю сам при загрузке) под названием "Окна" - чтобы можно было переключатся между открытыми формами...
Только вот незадача: Чтобы не ставить его в каждую форму "на открытие" (много их слишком ;)), вставил его в таймер одной из скрытых форм, открывающихся на загрузке базы. И вот, когда открываю новое свое меню и подвожу указатель на любой пункт (из перечисленных открытых форм) - происходит "размножение" некот.пунктов, что раздражает... Может неправильно делаю динамическую проверку/очистку этого подменю? Посмотрите, пожалуйста!:
'-----
Public Sub MenuOkna(Optional MenuVar As String = "custom")
On Error Resume Next
Dim mcus As Object
Set mcus = CommandBars(MenuVar)
If err <> 0 Then Exit Sub

Dim mpunkt As Object, mpunkt2 As Object
Set mpunkt = mcus.Controls("Окна")
If err <> 0 Then
err.Clear ': On Error GoTo 0
Set mpunkt = mcus.Controls.Add(10, , , , True)
mpunkt.Caption = "Окна"
Else
For Each mpunkt2 In mpunkt.Controls
mpunkt2.Delete
Next
End If

If Forms.Count > 1 Then
Dim loform As Form
For Each loform In Forms
If loform.Visible And loform.Name <> "MainForm" Then
Set mpunkt2 = mpunkt.Controls.Add(1, , , , True)
mpunkt2.Caption = loform.Caption
mpunkt2.OnAction = "=ViewForm(" & Chr$(34) & loform.Name & Chr$(34) & ")"
End If
Next
End If
'mpunkt.Visible = True

End Sub
...
Рейтинг: 0 / 0
13.09.2004, 16:26:42
    #32692267
borisb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите решить проблему с созданием собственного подменю "Окна"...
Код: plaintext
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.
26.
27.
28.
29.
30.
Public Sub MenuOkna(Optional MenuVar As String = "custom")
On Error Resume Next
Dim mcus As Object
Set mcus = CommandBars(MenuVar)
If err <>  0  Then Exit Sub

Dim mpunkt As Object, mpunkt2 As Object
Set mpunkt = mcus.Controls("Окна")
If err <>  0  Then
   err.Clear  ': On Error GoTo 0 
   Set mpunkt = mcus.Controls.Add( 10 , , , , True)
   mpunkt.Caption = "Окна"
Else
   For Each mpunkt2 In mpunkt.Controls
      mpunkt2.Delete
   Next
End If

If Forms.Count >  1  Then
Dim loform As Form
For Each loform In Forms
   If loform.Visible And loform.Name <> "MainForm" Then
      Set mpunkt2 = mpunkt.Controls.Add( 1 , , , , True)
      mpunkt2.Caption = loform.Caption
      mpunkt2.OnAction = "=ViewForm(" & Chr$( 34 ) & loform.Name & Chr$( 34 ) & ")"
   End If
Next
End If
 'mpunkt.Visible = True 

End Sub
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите решить проблему с созданием собственного подменю "Окна"... / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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