powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Программное перемещение панелей инструментов по вертикали
23 сообщений из 23, страница 1 из 1
Программное перемещение панелей инструментов по вертикали
    #39090444
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!

Есть пользовательское меню и две панели инструментов.
Меню закреплено сверху.
Под ним – последовательно первая и вторая панели инструментов.
Возник вопрос: возможно ли программно поменять местами эти панели, если да, то как?

Присвоение новых значений свойствам CommandBar.Top результата не дает –
ошибки не возникает, но и значения не меняются.

Тогда пробую так (код под спойлером).
Код: vbnet
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.
31.
32.
33.
34.
35.
 Dim CmdBar01 As CommandBar, _
     CmdBar02 As CommandBar
 Set CmdBar01 = CommandBars("Tools_T1")
 Set CmdBar02 = CommandBars("Tools_T2")
 
' Начальное состояние пользовательского меню
 CommandBars("Menu_M").Protection = msoBarNoChangeDock
 CommandBars("Menu_M").Position = msoBarTop
 
' Начальное состояние первой панели инструментов
 CmdBar01.Protection = msoBarNoProtection
 CmdBar01.Position = msoBarTop
 
' Начальное состояние второй панели инструментов
 CmdBar02.Protection = msoBarNoProtection
 CmdBar02.Position = msoBarTop
 
' Начальные положения панелей инструментов по вертикали
 Top1 = CmdBar01.Top
 Top2 = CmdBar02.Top
 
' Открепляем панели инструментов
 CmdBar01.Position = msoBarFloating
 CmdBar02.Position = msoBarFloating
 
' Панели инструментов меняются между собой положением по вертикали
 CmdBar01.Top = Top2
 CmdBar02.Top = Top1
 
' Вторую панель инструментов переводим вверх. Встает, как и планировалось, сразу под меню.
 CmdBar02.Position = msoBarTop
 
' Первую панель инструментов переводим вверх. ОЖИДАЛОСЬ, ЧТО ВСТАНЕТ ПОД ВТОРОЙ, НО НЕТ.
' Вытесняет вторую ниже и встает на первоначальное место, сразу под меню.
 CmdBar01.Position = msoBarTop

Смотрю последовательно по шагам – все идет, как надо, но последний шаг перечеркивает все достижения.

Можно ли как-то это выполнить?
Именно программно. Иные способы мне известны, но пока интересует этот.
...
Рейтинг: 0 / 0
Программное перемещение панелей инструментов по вертикали
    #39090468
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__Michelle,

ой... может я и не прав... попробуйте, когда играете в наперстки использовать третий стаканчик...
махлевать шариком с двумя скакашками проблематично...
CmdBar01.Top = Top2
CmdBar02.Top = Top1
...
Рейтинг: 0 / 0
Программное перемещение панелей инструментов по вертикали
    #39090480
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag CmdBar01.Top = Top2
CmdBar02.Top = Top1
В этот момент позиции свободны, поскольку было предварительно
CmdBar01.Position = msoBarFloating
CmdBar02.Position = msoBarFloating,
в результате чего обе панели съежились и отскочили в сторону.
...
Рейтинг: 0 / 0
Программное перемещение панелей инструментов по вертикали
    #39090489
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__Michelle,

и то что тут
' Вторую панель инструментов переводим вверх. Встает, как и планировалось, сразу под меню.
CmdBar02.Position = msoBarTop


' Первую панель инструментов переводим вверх. ОЖИДАЛОСЬ, ЧТО ВСТАНЕТ ПОД ВТОРОЙ, НО НЕТ.
' Вытесняет вторую ниже и встает на первоначальное место, сразу под меню.
CmdBar01.Position = msoBarTop

msoBarTop - одинаково тоже ничё?
...
Рейтинг: 0 / 0
Программное перемещение панелей инструментов по вертикали
    #39090494
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag__Michelle,

и то что тут
' Вторую панель инструментов переводим вверх. Встает, как и планировалось, сразу под меню.
CmdBar02.Position = msoBarTop


' Первую панель инструментов переводим вверх. ОЖИДАЛОСЬ, ЧТО ВСТАНЕТ ПОД ВТОРОЙ, НО НЕТ.
' Вытесняет вторую ниже и встает на первоначальное место, сразу под меню.
CmdBar01.Position = msoBarTop

msoBarTop - одинаково тоже ничё?Естественно.
Это указание места размещения - сверху.
Посмотрели бы возможные константы и таких вопросов бы не задавали, я думаю.
...
Рейтинг: 0 / 0
Программное перемещение панелей инструментов по вертикали
    #39090500
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__Michelle,

ну как бы там нибыло, получается, что вверху будет всегда тот, кто последним урвал msoBarTop
...
Рейтинг: 0 / 0
Программное перемещение панелей инструментов по вертикали
    #39090501
Predeclared
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RowIndex
...
Рейтинг: 0 / 0
Программное перемещение панелей инструментов по вертикали
    #39090505
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__Michelle,

попробуйте две последних строки кода поменять местами - что будет ?
...
Рейтинг: 0 / 0
Программное перемещение панелей инструментов по вертикали
    #39090506
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag__Michelle,

ну как бы там нибыло, получается, что вверху будет всегда тот, кто последним урвал msoBarTop Нет. Проверено.
Зачем гадаете?
...
Рейтинг: 0 / 0
Программное перемещение панелей инструментов по вертикали
    #39090509
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__MichelleЗачем гадаете?

Затем, что нет примера под рукой, больше не буду...
...
Рейтинг: 0 / 0
Программное перемещение панелей инструментов по вертикали
    #39090510
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Predeclared,

А вот это, похоже, то, что надо!
У меня именно на Вас была надежда!
Спасибо!

Вообще, надо бы и самой научиться список свойств до конца долистывать.
Но, увы...
...
Рейтинг: 0 / 0
Программное перемещение панелей инструментов по вертикали
    #39090517
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Predeclared,

Да, все получается.
Только Left у нижней надо будет обнулить, а то в хвост верхней пристраивается.
Еще надо будет попробовать на реальных длинных панелях, эти взяла пробные короткие.

СПАСИБО!!!
...
Рейтинг: 0 / 0
Программное перемещение панелей инструментов по вертикали
    #39090524
Predeclared
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не на чем.

Можно значение RowIndex для убираемой вниз взять "с запасом",
что бы не менять Left.
...
Рейтинг: 0 / 0
Программное перемещение панелей инструментов по вертикали
    #39090530
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Predeclared,

Нет, запас не помог (сделала +2), так же встает.
...
Рейтинг: 0 / 0
Программное перемещение панелей инструментов по вертикали
    #39090549
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проверила на реальных данных.
Все прекрасно.
И совмещение в одной горизонтали получается и прочее...

Спасибо!!!
Ведь второй день жонглирую.)))
...
Рейтинг: 0 / 0
Программное перемещение панелей инструментов по вертикали
    #39090551
Predeclared
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__MichelleНет, запас не помог (сделала +2), так же встает.
?
...
Рейтинг: 0 / 0
Программное перемещение панелей инструментов по вертикали
    #39090555
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Predeclared,

Сделайте, пожалуйста, в 2000-м.(((
...
Рейтинг: 0 / 0
Программное перемещение панелей инструментов по вертикали
    #39090561
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Predeclared,

Привет... давно не было...
Я как доктор Ватсон могу только спросить - "Да,... но чёрт возьми... КАК ???"

Я панели не юзаю, но признаюсь не нашел как по кнопке вызывается код из модуля,
до панелей добрался включаю / выключаю... если плавающую закинуть на верх ко всем - тоже весело...
...
Рейтинг: 0 / 0
Программное перемещение панелей инструментов по вертикали
    #39090565
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Predeclared,

Фух... разобрался... просто и гениально...
...
Рейтинг: 0 / 0
Программное перемещение панелей инструментов по вертикали
    #39090610
Predeclared
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в 2000:
...
Рейтинг: 0 / 0
Программное перемещение панелей инструментов по вертикали
    #39090612
Predeclared
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag... если плавающую закинуть на верх ко всем - тоже весело...
Привет.

Ага, я тоже поигрался с этим.
...
Рейтинг: 0 / 0
Программное перемещение панелей инструментов по вертикали
    #39090649
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Predeclared,

Спасибо. Что-то отвлеклась.
Но у меня все равно так же, влево нижняя сама не прижимается, Left помогает.

Вот оба варианта.
Ваш сверху, я там панель Temp тоже вверх перенесла,
думала, она тоже будет участвовать в перемещениях, но она просто всегда переходит в первую строку.
Мой вариант на рисунке внизу.
...
Рейтинг: 0 / 0
Программное перемещение панелей инструментов по вертикали
    #39090655
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А сейчас и в Вашей, и в моей даже без "запаса" все само выравнивается.
Ну, дела...
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Программное перемещение панелей инструментов по вертикали
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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