
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
31.07.2007, 11:01
|
|||
|---|---|---|---|
Имя и номер элемента меню |
|||
|
#18+
Доступность или не доступность элемнта меню определяется в процедуре CheckMenu_ArchArt, входными параметрами которой есть номер элемента меню и имя меню: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. определение меню: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. как видете всегда когда я вызываю процедуру CheckMenu_ArchArt я указываю номер элемента меню и имя меню. А нельзя чтобы эти параметры получать через функции а не явно, например: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.07.2007, 14:33
|
|||
|---|---|---|---|
Имя и номер элемента меню |
|||
|
#18+
Насколько я знаю, ничего подобного для данной задачи нет. Если основная цель - это не зависеть от конкретного номера BAR-пункта, то, единственный путь, дающий гарантированный результат - это метаданные. Т.е. структуру меню хранить в таблицах базы данных, а само меню строить динамически, на основе данных из этих таблиц. Ну, простейший вариант, чтобы показать общий принцип. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Собственно, все меню целиком заносить в таблицу метаданных смысла нет. В данном случае достаточно только собственно BAR пунктов со ссылкой на соответсвующее выпадающее POPUP-меню. Хотя, разумеется, можно "забить" все номера в файл #INCLUDE или же вместо номеров в процедуре CheckMenu_ArchArt использовать какие-либо символьные идентификаторы, более менее осмысленно звучащие. Вроде Bar1, Bar2 и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.07.2007, 14:52
|
|||
|---|---|---|---|
|
|||
Имя и номер элемента меню |
|||
|
#18+
shanton посмотрите в сторону http://www.codeplex.com/VFPX/Release/ProjectReleases.aspx?ReleaseId=61 и * Program....: FoxMenu.prg * Notice.....: Copyright (c) 2002 Microsoft Corp. * Compiler...: Visual FoxPro 8.0 * Abstract...: * Wraps context-sensitive (right-click) menu functionality in an object. * Changes....: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.07.2007, 15:24
|
|||
|---|---|---|---|
Имя и номер элемента меню |
|||
|
#18+
2 прошелмимо Объектная обертка меню не решает описанной проблемы, а всего-лишь "переводит" ее в другую плоскость. Те же "грабли", но вид сбоку. У него ведь проблема не в способе формирования пунктов, а в способе анализа пунктов. Он знает, как надо анализировать некий пункт меню, но не знает, какой именно идентификатор получит этот пункт меню. Пока он строит анализ, исходя из предположения , что у каждого пункта меню будет некий фиксированный идентификатор. Поскольку, вероятно, этот идентификатор присваивает не он сам, а, например, дизайнер меню, то он и не уверен, что индентификатор не изменится. Единственный разумный выход из это ситуации - присваивать идентификатор самостоятельно. "Вручную". А как именно это будет сделано - через прямые команды DEFINE BAR или через объектную обертку - уже не важно. Хотя, возможно, для shanton будет интересен сам подход. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=41&mobile=1&tid=1588957]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 192ms |
| total: | 315ms |

| 0 / 0 |
