|
|
|
Динамическое заполнение меню
|
|||
|---|---|---|---|
|
#18+
2 вопроса по использованию контролов из MS Office 10 Object Library: Имеется строка меню под названием "РабочееМеню". Програмно создаю новое меню "Отчеты", который заполняю названиями отчетов: Dim РабочееМеню As CommandBar, ПунктМеню As CommandBarPopup, Подменю As CommandBarControl Sub asdфыв() Dim db As Database, ВсеОтчеты As Container, отчет As Document Set db = CurrentDb Set ВсеОтчеты = db.Containers!Reports Set РабочееМеню = CommandBars("РабочееМеню") Set ПунктМеню = РабочееМеню.Controls.Add(msoControlPopup, 1) ПунктМеню.Caption = "Отчёты" For Each отчет In ВсеОтчеты.Documents If Not отчет.name Like "Подчинен*" Then Set Подменю = ПунктМеню.Controls.Add(msoControlButton) Подменю.Caption = отчет.name Подменю.OnAction = "fdkh" End If Next End Sub Так вот, вопрос 1: а имеется ли у меню "Отчеты" (msoControlPopup) события? конкретно нужно отследить нажатие на него левой кнопкой мыши/либо ентером Вопрос 2: свойство OnAction у пункта меню - текстовое. А хотелось бы передавать в него значения (конкретно - Caption). Конструкции "fdkh(" & Подменю.Caption & ")"не проходят. Это никак нельзя сделать? В целом хотелось бы при нажатии на меню "Отчеты" динамически заполнять его, ну, и чтоб нормально все работало. Промучался долго, и пока что пришел к выводу, что надо либо использовать контролы других производителей, либо юзать функции апи - а здесь я слаб. Подскажите, куда рыть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2004, 07:52:08 |
|
||
|
Динамическое заполнение меню
|
|||
|---|---|---|---|
|
#18+
Я делаю так (кусок из рабочего кода): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Насколько я знаю Hummer даст самый правильный ответ. У него большой опыт работы с меню. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2004, 09:26:13 |
|
||
|
Динамическое заполнение меню
|
|||
|---|---|---|---|
|
#18+
Динамическое создание меню из БД можно посмотреть тут . Что касается собственно вопроса: 1. Не надо называть переменные по-русски. Не удобно писать в коде:) 2. Событие OnAction вызывает функцию. Т.е. может быть ОДНА функция, которая в зависимости от имени контрола меню или от его тага, к примеру, выполнит какие-либо действия - нечто вроде этого: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2004, 10:05:33 |
|
||
|
|

start [/forum/topic.php?fid=45&gotonew=1&tid=1671892]: |
0ms |
get settings: |
4ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
39ms |
get topic data: |
6ms |
get first new msg: |
4ms |
get forum data: |
2ms |
get page messages: |
25ms |
get tp. blocked users: |
1ms |
| others: | 194ms |
| total: | 288ms |

| 0 / 0 |
