|
При программном задании заголовка окна приложения слетает меню
|
|||
---|---|---|---|
#18+
Задача: создать заголовок приложения, в котором прописывается открывший его пользователь Помещаем необходимый код (выделено зеленым) в модуль параметров загрузки базы Sub SetStartupProperties() Dim intX As Integer Rem Const DB_Text As Long = 10 ChangeProperty "StartupForm", dbText, "frmZastavka0" ChangeProperty "StartupShowDBWindow", dbBoolean, False ChangeProperty "StartupShowStatusBar", dbBoolean, False ChangeProperty "AllowBuiltinToolbars", dbBoolean, False ChangeProperty "AllowFullMenus", dbBoolean, False ChangeProperty "AllowBreakIntoCode", dbBoolean, False ChangeProperty "AllowSpecialKeys", dbBoolean, False ChangeProperty "AllowBypassKey", dbBoolean, False ChangeProperty "AllowShortcutMenus", dbBoolean, False intX = AddAppProperty("AppTitle", dbText, "АНАЛИЗ РЕЗУЛЬТАТОВ. Сеанс: & CurrentUser() & ";") Rem intX = AddAppProperty("AppIcon", DB_Text, "C:\Windows\Cars.bmp") Application.RefreshTitleBar End Sub Function ChangeProperty(strPropName As String, varPrchkype As Variant, varPropValue As Variant) As Integer Dim dbs As DAO.Database Dim prp As DAO.Property Const conPropNotFoundError = 3270 Set dbs = CurrentDb On Error GoTo Change_Err dbs.Properties(strPropName) = varPropValue ChangeProperty = True Change_Bye: Exit Function Change_Err: If Err = conPropNotFoundError Then ' Свойство не найдено Set prp = dbs.CreateProperty(strPropName, varPrchkype, varPropValue) dbs.Properties.Append prp Resume Next Else ' Неизвестная ошибка ChangeProperty = False Resume Change_Bye End If End Function Function AddAppProperty(strName As String, varType As Variant, varValue As Variant) As Integer Rem Dim dbs As Object, prp As Variant Dim dbs As DAO.Database Dim prp As DAO.Property Const conPropNotFoundError = 3270 Set dbs = CurrentDb On Error GoTo AddProp_Err dbs.Properties(strName) = varValue AddAppProperty = True AddProp_Bye: Exit Function AddProp_Err: If Err = conPropNotFoundError Then Set prp = dbs.CreateProperty(strName, varType, varValue) dbs.Properties.Append prp Resume Else AddAppProperty = False Resume AddProp_Bye End If End Function Все хорошо, заголовок содержит пользователя. Но! У меня (админа) в созданном меню "Private" куда-то делась вкладка "Сервис", а также некоторые команды в других вкладках, например "Отобразить" в "Окно". В чем причина? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2005, 00:50 |
|
При программном задании заголовка окна приложения слетает меню
|
|||
---|---|---|---|
#18+
КДЗ Все хорошо, заголовок содержит пользователя. Но! У меня (админа) в созданном меню "Private" куда-то делась вкладка "Сервис", а также некоторые команды в других вкладках, например "Отобразить" в "Окно". В чем причина? Тут: ChangeProperty "AllowFullMenus", dbBoolean, False ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2005, 01:45 |
|
При программном задании заголовка окна приложения слетает меню
|
|||
---|---|---|---|
#18+
Так оно у меня вроде и раньше в таком состоянии -ChangeProperty "AllowFullMenus", dbBoolean, False висело, и все было на месте. А для отображения созданного специального меню на загрузочной форме висела процедурка, определяющая, кто подключается: If acbAmMemberOfGroup("Admins") Then DoCmd.ShowToolbar "Private", acToolbarYes и т.д. AllowFullMenus - это, как я понимаю, полное меню, которое по умолчанию висит: Файл, Правка и т.д. Какое отношение оно имеет к созданному мной специальному? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2005, 07:37 |
|
При программном задании заголовка окна приложения слетает меню
|
|||
---|---|---|---|
#18+
КДТак оно у меня вроде и раньше в таком состоянии -ChangeProperty "AllowFullMenus", dbBoolean, False висело, и все было на месте. Если бы это было так, то у стандартного меню базы было бы всего три пункта- Файл, Окно и Справка. Попробуйте на тестовой базке снять эту галочку. Поскольку вы, видимо, просто скопировали остальные пункты (Сервис, Правка...) в свое меню, то они тоже отключаются. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2005, 07:51 |
|
При программном задании заголовка окна приложения слетает меню
|
|||
---|---|---|---|
#18+
То Alexander G Спасибо! Переставил на True, помогло. Но когда первый раз сам вошел под своим именем заголовок поменялся, а когда в другой раз под другим - нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2005, 08:56 |
|
При программном задании заголовка окна приложения слетает меню
|
|||
---|---|---|---|
#18+
"первый раз сам вошел под своим именем заголовок поменялся, а когда в другой раз под другим - нет" Нашел! Гетц, Сб. рецептов, с.229. Копируйте модуль basCaption, на загрузку начальной формы (я так сделал) вешаем: Call acbSetAccessCaption("Тут пишем что нужно. Сеанс: " & CurrentUser() & "") Пихать этот вызов в общий модуль, по-видимому, бесполезно. По крайней мере, у меня из модуля параметров загрузки БД он не вызывался. И чтобы делали такие дураки как я, не будь Гетца? Кстати, о Гетце. Кто-н. смотрел 2-е изд. "Сборника рецептов", чем и насколько отличается от первого? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2005, 22:37 |
|
|
start [/forum/topic.php?fid=45&gotonew=1&tid=1665088]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
14ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 239ms |
total: | 375ms |
0 / 0 |