|  12.09.2002, 20:26 | #1 | 
| NavAx |  Можно ли в Аксапте делать "горячие клавиши"? 
			
			Неужели нельзя? Есть метод Task но он отлавливает только несколько комбинаций клавиш. И почему keyPressed только у TreeControl... 
				__________________ С уважением, Игорь Ласийчук. | 
|  | 
|  28.09.2002, 04:19 | #2 | 
| Участник | 
			
			К сожалению нельзя. Кернел Аксапты сам расставляет горячие клавиши по батонам формы никого не спрашивая
		 | 
|  | 
|  24.01.2006, 22:16 | #3 | 
| Member | 
			
			Есть варианты. На удобство использования не претендую. Но на безрыбье и рак рыба. В любом случае решение требует наличия/добавления кнопок (можно невидимых). Идея сворована в модуле Shop floor control. 1. Без кодирования (но с редактированием меток). Аксапта автоматически назначает горячие клавиши для кнопок (и только для кнопок в формах) по хитрому алгориму: берет первую букву текста в метке и назначает нажатие комбинации [Alt] + <символ в метке>. Символ в кнопке при этом подчеркивается. Но есть казус следующего плана. Данное утверждение работает только в случае, если метка написана латинскими символами. Казалось бы, если в метке использовать латинский символ (например, [а) Проводки], [b) Сделать все автоматически]), то с горем пополам проблему можно решить. Но и тут есть проблема. Если при открытии формы включена русская раскладка, то назначения комбинацй клавиш не произойдет. Решением может быть использование цифр. Например, [1) Проводки], [2) Сделать все автоматически]. Тогда при нажатии [Alt] + [1] будет "нажиматься" кнопка просмотра проводок... К сожалению, цифр не много у нас. Но это уже хоть что-то. 2. С кодированием (расширение варианта 1). В том же Shop floor control можно наблюдать следующий фокус. В АОТе создается кнопочка с неким текстом в свойствах. Например, "1". Дальше в init() формы ей приделывается совсем другой текст. Например, "Проводки". После того, как открывается форма, она продолжает жрать [Alt] + [1], хотя текст на кнопке красивый. 3. Изящный (относительно много кодирования) В том же Shop floor control можно наблюдать, как перекрываются функциональные клавиши [F1] .. [F9]. Производится это с помощью .dll-ки. Как это делается я разбираться не стал. Многовато кодирования получается. Кому интересно, сам сможет посмотреть. Хотя, если припрет, то почему бы и нет. Правда, перехват радикально начинает работать. Даже в дебагере функциональные клавиши вырубаются. PS. Это я сам себе написал :-) Когда в следующий раз буду на форуме искать — чтобы смог вспомнить. А то я уже не первый раз ветку читаю. 
				__________________ С уважением, glibs® | 
|  | |
| За это сообщение автора поблагодарили: mazzy (18), Garic (1), ALEG (1), Logger (5), Leshiy_T (1), IvanS (1). | |
|  25.01.2006, 15:22 | #4 | 
| Developer | Цитата: 
		
			Сообщение от glibs
			
			 ... Идея сворована в модуле Shop floor control ...   | 
|  | 
|  25.01.2006, 15:36 | #5 | 
| Участник | 
			
			Можно, мы сделали    | 
|  | 
|  25.01.2006, 15:38 | #6 | 
| Участник | Цитата: 
		
			Сообщение от garu
			
			 Можно, мы сделали   У нас есть такие приборы, но мы вам о них не расскажем Есть что сказать - скажите. В общих чертах, что и как? Если кроме рекламы нечего сказать, то лучше не говорите ничего. | 
|  | 
|  25.01.2006, 15:42 | #7 | 
| Участник | Цитата: 
		
			Правда, перехват радикально начинает работать. Даже в дебагере функциональные клавиши вырубаются.
		
	 | 
|  | 
|  25.01.2006, 15:59 | #8 | 
| Гость | Цитата: 
		
			Сообщение от mazzy
			
			 Так, давайте не будем в стиле У нас есть такие приборы, но мы вам о них не расскажем Есть что сказать - скажите. В общих чертах, что и как? Если кроме рекламы нечего сказать, то лучше не говорите ничего.  + можно вешать hot key на определенные действия в Axapta (типа нажал клавишу в окне AOT произошло то-то, нажал в окне редактора кода произошло нечто другое ) +  и т.д. Причем назначения происходят в горячем режиме  т.е. после назначения можно пользоваться. Модуль  не завязан на стандартную функциональность, т.е можно ставить на любое приложение. Последний раз редактировалось lagr221374; 25.01.2006 в 16:11. | 
|  | 
|  25.01.2006, 16:32 | #9 | 
| Участник | Цитата: 
		
			Сообщение от lagr221374
			
			 Насколько я в курсе: существует модуль Это внешняя dll'ка? Где найти описание этого чуда? | 
|  | 
|  25.01.2006, 16:37 | #10 | 
| Гость | Цитата: 
		
			Сообщение от mazzy
			
			 что такое "модуль"? Это внешняя dll'ка? Где найти описание этого чуда? Описалово чуда  , наверное можно взять у sale-зов из Columbus. Последний раз редактировалось lagr221374; 25.01.2006 в 18:13. | 
|  | 
|  25.01.2006, 16:56 | #11 | 
| Member | Цитата: 
		
			Сообщение от vallys
			
			 ... кто-нибудь, ткните меня носом в форму ... В АОТ это можно посмотреть в Forms\JmgSignInJob 
				__________________ С уважением, glibs® | 
|  | |
| За это сообщение автора поблагодарили: vallys (2). | |
|  25.01.2006, 17:14 | #12 | 
| Administrator | 
			
			Ну, если до кучи, то short cut можно назначить для пункта меню. Правда работать он будет только когда соответствующее меню открыто.
		 
				__________________ Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me | 
|  | 
|  25.01.2006, 19:51 | #13 | 
| Участник | 
			
			  База знаний ERP : Axapta / Перехват Нажатий Клавиш   - не то, что нужно?
		 | 
|  | |
| За это сообщение автора поблагодарили: mazzy (18), sparco (1). | |