|  03.02.2012, 15:56 | #1 | 
| Участник | Программно показать MenuButton 
			
			Если в дизайне закрыть (visible=false) все пункты меню, входящие в MenuButton, то он не выводится на форме, даже если некоторые пункты потом включить программно. Как заставить MenuButton отобразиться? | 
|  | 
|  03.02.2012, 16:15 | #2 | 
| Участник | 
			
			Попробуйте рецепт из этой темы Grid пропадает
		 | 
|  | 
|  03.02.2012, 16:18 | #3 | 
| Молодой, подающий надежды | 
			
			А зачем его выводить, если все его пункты будут скрыты? Если нужно отображать только часть пунктов, то сделайте всем Visible = Yes, AutoDeclaration = Yes, а в MenuButton.clicked() управляйте видимостью контролов, как душе угодно до вызова super(). Кстати если таким образом их все скрыть, то MenuButton будет на форме.
		 Последний раз редактировалось pedrozzz; 03.02.2012 в 16:20. | 
|  | 
|  03.02.2012, 16:31 | #4 | 
| Участник | Цитата: Я один пункт всегда оставлял видимым и программно его скрывал. Все работало пока не закрыли доступ к этому пункту. | 
|  | 
|  03.02.2012, 16:34 | #5 | 
| Участник | Цитата: 
		
			Сообщение от S.Kuskov
			   Попробуйте рецепт из этой темы Grid пропадает PrintMenuButton.buttonDisplay(true); PrintMenuButton.displayControl(); не помогает | 
|  | 
|  03.02.2012, 16:36 | #6 | 
| Участник | Цитата:  Один раз запрограммируете, зато просто, эффективно, интуитивно. 
				__________________ Ivanhoe as is.. | 
|  | 
|  03.02.2012, 16:49 | #7 | 
| Участник | 
			
			Ну не один раз, а при добавлении нового отчета писать для каких типов его оставлять открытым. Сейчас я вставил отчет в нужную ветку case и все. В общем дело не в этом. Тут больше спортивный интерес. АХ автоматом закрывает кнопку и не хочет ее открывать. В прочем, как и автоматом убирать, если программно скрыть все пунткы. | 
|  | 
|  03.02.2012, 17:01 | #8 | 
| Участник | 
			
			Может конечно я чего-то не до конца понял, но почему не сделать так, чтобы вообще не нужно было каждый раз программировать. Например, заведите табличку, куда записывайте название отчета и имя его menuitem, потом по этой табличке создаете программно пункты меню в MenuButton. Как создавать пункты меню можно посмотреть на форме документооборота.  Можно вообще без таблицы, но тогда menuitem отчетов придется называть типа MyReport1, MyReport2 ... Потом искать все узлы в АОТ, имя которых начинается на MyReport и создавать по ним пункты меню. Label для пункта меню можно из menuitem достать. | 
|  | 
|  03.02.2012, 17:19 | #9 | 
| Участник | 
			
			делается все просто на MenuButton.clicked() до супера: X++: boolean printMenuItem1visible; ... boolean printMenuItemNvisible; switch (Type) { case type1: printMenuItem1visible = true; break; case type3: printMenuItem1visible = true; printMenuItemNvisible = true; break; ... case typeM: printMenuItemNvisible = true; break; } PrintMenuItem1.visible(printMenuItem1visible); ... PrintMenuItemN.visible(printMenuItem1visible); | 
|  | 
| Теги | 
| menubutton | 
|  | 
| 
 |