10.07.2008, 16:00 | #1 |
Участник
|
GroupButton и отмена своеобразной нумерация Button...
Привет всем Axaptо-ведам!
Подскажите, может кто уже нашел возможность управления в Ax4.0 своеобразной нумерацией кнопок при создании GroupButton и в ней вложенных Button? Когда после текста в control-е следует постфикс (A), (B), (C)... и т.д. Мне хотелось бы использовать кнопки для навигации, для этого при настройке Control Button в поле Text вставляю соответственно ">", ">>", "<", "<<". На форме же имею: "> (A)", ">> (B)", "< (C)", "<< (D)". Если подобный вопрос был задан ранее и ответ уже был опубликован, дайте, пожалуйста, ссылку на него. Заранее спасибо! |
|
10.07.2008, 16:18 | #2 |
Боец
|
На батоне есть свойство "ShowShortCut", установите в No
|
|
10.07.2008, 16:35 | #3 |
Участник
|
Спасибо!
|
|
28.12.2010, 16:17 | #4 |
Участник
|
а может есть возможность кодом в каком - нибудь базовом классе убрать эти "буквы" со всех форм?
|
|
28.12.2010, 16:32 | #5 |
Участник
|
На роль базового класса может подойти SysSetupFormRun. Только постого способа выключить в нём эти ShortCut нет (я, по крайней мере, такого не знаю). Прийдётся перед открытием формы (например в методе init) пробежаться по всему дизайну и выключить это свойство у всех найденных кнопок. Но что делать с кнопками, которые могут добавляться на форму динамически я не знаю.
|
|
13.01.2011, 16:29 | #6 |
Участник
|
Ну, собственно говоря, я тоже другого лучше ничего не нашел. Поэтому кому не нужна эта "своеобразная нумерация" кнопок и пунктов меню :
В классе SysSetupFormRun создаете свой метод void HideShortCut() { int i, j; Object control; Object subcontrol; boolean doit = true; void setHideShortCut(Object _control) { switch (_control.handle()) { case classnum(FormBuildFunctionButtonControl): case classnum(FormBuildButtonControl): case classnum(FormBuildCommandButtonControl): case classnum(FormBuildMenuButtonControl): _control.ShowShortCut(NoYes::No); break; default: break; } } void setHideShortCutContainer(Object _control) { int y; Object _subcontrol; Object _subsubcontrol; for (y=1; y <=_control.controlCount(); y++) { _subcontrol = _control.controlNum(y); if (_subcontrol.isContainer()) { switch (_subcontrol.handle()) { case classnum(FormBuildMenuButtonControl): _subcontrol.ShowShortCut(NoYes::No); case classnum(FormBuildButtonGroupControl): for (j=1; j<=_subcontrol.controlCount(); j++) { _subsubcontrol = _subcontrol.controlNum(j); setHideShortCut(_subsubcontrol); } break; default : setHideShortCutContainer(_subcontrol); break; } } else setHideShortCut(_subcontrol); } } ; for (i=1; i <= this.form().design().controlCount(); i++) { control = this.form().design().controlNum(i); if (control.isContainer()) { switch (control.handle()) { case classnum(FormBuildMenuButtonControl): control.ShowShortCut(NoYes::No); case classnum(FormBuildButtonGroupControl): for (j=1; j<=control.controlCount(); j++) { subcontrol = control.controlNum(j); setHideShortCut(subcontrol); } break; default: setHideShortCutContainer(control); break; } } else setHideShortCut(control); } } затем в методе init этого класса в самом начале ставите this.HideShortCut(); все кнопки будут обозваны нормально. |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|