AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX Blogs
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.10.2006, 18:22   #1  
Blog bot is offline
Blog bot
Участник
 
25,617 / 848 (80) +++++++
Регистрация: 28.10.2006
Axapta Lessons: Trapping keystrokes in a Form
Источник: http://axapta-lessons-learned.blogsp...s-in-form.html
==============
How can we catch keystrokes in a Form?

When we want to catch the key pressed in a form we need to make some adjustments to the Form. These modifications consist of a few steps:

1. Add a macro that contains the values for the virtual keys.
2. Modify the ClassDeclaration of the Form.
3. Create a new method overruleFKeys on the Form to overrule the virtual keys.
4. Create a new method checkKeyPressed on the Form to capture the key pressed.
5. Override the Task method on the Form.
6. Override the Close method on the Form.
7. Override the Init method on the Form.


Let us have a look at an example hereafter. The Form we are going to create will just get two activeX controls, a clock and calendar.

The final Form defition will look as follows±



1. Add a macro that contains the values for the virtual keys.



2. Modify the ClassDeclaration of the Form.



3. Create a new method overruleFKeys on the Form to overrule the virtual keys.
Overruling the virtual keys will result in no standard handling for the virtual keys anymore; this means that for instance pressing F1 will no longer lead to the help-functionality of Axapta, unless you implement it yourself again.




4. Create a new method checkKeyPressed on the Form to capture the key pressed.
We are going to use the Windows DLL 'USER32' and it's function 'GetAsyncKeyState'. The function needs the value of the virtual key to be passed as a binary parameter, like for instance 0x72 for F3. When the key is pressed the function will return a value different from 0.




We can find the hexadecimal values for the keys here Virtual Key Codes
.

5. Override the Task method on the Form.
In the task-method we are going to catch taskId 520. When doing so, we will have to loop over all virtual keys to see if one of them was pressed. There is no other way to find out which one was pressed (if any) then to check them all. Since there are only a few of them, this won't lead to any performance problems.

We are going to achieve this by calling the method checkKeyPressed.



6. Override the Close method on the Form.



7. Override the Init method on the Form.



To be continued with detail explanation of the different steps.?*


==============
Источник: http://axapta-lessons-learned.blogsp...s-in-form.html
За это сообщение автора поблагодарили: kashperuk (5).
Старый 29.10.2006, 01:16   #2  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
А картинки то не подтягиваются.
Старый 01.11.2006, 15:23   #3  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
Таки подтянулись наконец-то...
__________________
Андрей.
Старый 01.11.2006, 15:57   #4  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Картинки нормально подтягиваются в FF 1.5
и не подтягиваются в IE6, IE7, FF2.0
Оперу еще не проверял
__________________
полезное на axForum, github, vk, coub.
Старый 01.11.2006, 16:22   #5  
Russland is offline
Russland
MCTS
Аватар для Russland
MCBMSS
 
267 / 116 (4) +++++
Регистрация: 17.10.2005
Адрес: Донеччина, Україна
Да, вроде, и без картинок всё ясно
Непонятно значение пп. 6, 7
__________________

В глухомани, в лесу Несмотря на красу Дни проводит Лиса Патрикевна. Я никак не пойму Отчего, почему Не пускают куму На деревню
Старый 01.11.2006, 16:50   #6  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Blog bot Посмотреть сообщение
Цитата:
Сообщение от Russland Посмотреть сообщение
Да, вроде, и без картинок всё ясно
Непонятно значение пп. 6, 7
?!
Источник указан. Щелкните и посмотрите оригинал с картинками.
__________________
полезное на axForum, github, vk, coub.
Старый 01.11.2006, 17:05   #7  
Russland is offline
Russland
MCTS
Аватар для Russland
MCBMSS
 
267 / 116 (4) +++++
Регистрация: 17.10.2005
Адрес: Донеччина, Україна
И в оригинале не вижу
Название: comments.jpg
Просмотров: 2655

Размер: 15.8 Кб
__________________

В глухомани, в лесу Несмотря на красу Дни проводит Лиса Патрикевна. Я никак не пойму Отчего, почему Не пускают куму На деревню
Старый 01.11.2006, 17:11   #8  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Russland Посмотреть сообщение
И в оригинале не вижу
Щелкните на ссылку Show/Hide this Post в оригинале
__________________
полезное на axForum, github, vk, coub.
Старый 01.11.2006, 17:24   #9  
Russland is offline
Russland
MCTS
Аватар для Russland
MCBMSS
 
267 / 116 (4) +++++
Регистрация: 17.10.2005
Адрес: Донеччина, Україна
Да IE6.0 у меня
Теперь с вас скриншотик
Изображения
 
__________________

В глухомани, в лесу Несмотря на красу Дни проводит Лиса Патрикевна. Я никак не пойму Отчего, почему Не пускают куму На деревню
Старый 01.11.2006, 17:26   #10  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Вот и скриншотик.
Изображения
 
Старый 01.11.2006, 17:35   #11  
Russland is offline
Russland
MCTS
Аватар для Russland
MCBMSS
 
267 / 116 (4) +++++
Регистрация: 17.10.2005
Адрес: Донеччина, Україна
Спасибо
__________________

В глухомани, в лесу Несмотря на красу Дни проводит Лиса Патрикевна. Я никак не пойму Отчего, почему Не пускают куму На деревню
Старый 01.11.2006, 17:50   #12  
Russland is offline
Russland
MCTS
Аватар для Russland
MCBMSS
 
267 / 116 (4) +++++
Регистрация: 17.10.2005
Адрес: Донеччина, Україна
http://axapta.mazzy.ru/lib/barcode/
__________________

В глухомани, в лесу Несмотря на красу Дни проводит Лиса Патрикевна. Я никак не пойму Отчего, почему Не пускают куму На деревню
Старый 01.11.2006, 17:58   #13  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от Russland Посмотреть сообщение
Это здесь причем?
Старый 01.11.2006, 18:16   #14  
Russland is offline
Russland
MCTS
Аватар для Russland
MCBMSS
 
267 / 116 (4) +++++
Регистрация: 17.10.2005
Адрес: Донеччина, Україна
Цитата:
Это здесь причем?
В наработке http://axapta.mazzy.ru/lib/barcode/ используется идея взятая из http://axapta-lessons-learned.blogsp...s-in-form.html

По данной ссылке можно увитеть код (возможно модифицированный) в текстовом, а не в графическом виде.
__________________

В глухомани, в лесу Несмотря на красу Дни проводит Лиса Патрикевна. Я никак не пойму Отчего, почему Не пускают куму На деревню
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
dax-lessons: Active directory in Axapta Blog bot DAX Blogs 0 27.08.2007 23:00
Axapta Lessons: FORM SalesTable (3): Add a document to the button Posting Blog bot DAX Blogs 0 28.10.2006 18:22
Axapta Lessons: FORM SalesTable (4): Add a document to the button Posting Blog bot DAX Blogs 0 28.10.2006 18:22
Говорят вышел SP2 для Axapta 3. Кто нибуть что знает на эту тему? soin DAX: Прочие вопросы 10 13.10.2003 10:43
Введение в Аксапту Роман Кошелев DAX: Прочие вопросы 0 18.12.2001 14:00

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 22:26.