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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.06.2008, 15:52   #1  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Очень понравился Tabax. Не знаю как я без него обходился.
Правда для себя я контрол tab сделал не видимым и код не много изменил в методе autoHeight
X++:
        //WINAPI::setWindowPos(this.Hwnd(),0,0, w - x, ht - y, true,false,
        WINAPI::setWindowPos(this.Hwnd(),0,0, w - x, 25, true,false,
Как то не очень удобно когда вкладки попадаются на пути мышки. Лучше если они снизу.
Плюс некоторые кнопки тоже сделал невидимыми, которыми тоже особенно не буду пользоваться.
Если кто-то хочет добавить дополнительные кнопки для работы с функциями EditorScripts, то можно
1) В класс Info добавить описание Editor curEditor;
2) Создать метод в классе Info
X++:
Editor editor(Editor _e = curEditor)
{
;
    curEditor = _e;
    return curEditor;
}
3) В классе EditorScripts метод showScripts закоментировал потому что не особенно он мне нужен. Оставил только.
X++:
infolog.editor(e);
4) В формe Tabax перекрыть метод activate().
X++:
public void activate(boolean _active)
{
    DLL winApiDLL = new DLL('User32');
    DLLFunction keybd_event = new DLLFunction(winApiDLL, 'keybd_event');
    ;

    keybd_event.arg(ExtTypes::Byte, ExtTypes::Byte, ExtTypes::DWord, ExtTypes::DWord);

    keybd_event.call('18', 0, 0, 0);
    keybd_event.call('77', 0, 0, 0);
    keybd_event.call('77', 0, 2, 0);
    keybd_event.call('18', 0, 2, 0);
    super(_active);
}
5) В методе clicked вашей кнопки написать код
X++:
void clicked()
{
    EditorScripts es;
    Editor        e;
;
    super();
    e = infolog.editor();
    es = new EditorScripts();
    es.NewWindow(e);//ваш script
}
За это сообщение автора поблагодарили: belugin (5), alex55 (0).
Старый 05.06.2008, 17:39   #2  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,342 / 3563 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от miklenew Посмотреть сообщение
Если кто-то хочет добавить дополнительные кнопки для работы с функциями EditorScripts, то можно
1) В класс Info добавить описание Editor curEditor;
2) Создать метод в классе Info
Можно (по идее) попробовать обойтись и без правки класса Info.
Основная задача - послать окну Editora сообщение (окно найти через WinAPI) Alt+M (ну или какое другое) для того, чтобы ядро запустило метод showScripts.
Далее - задача передать из Tabax информацию о том, какой метод запускать и задача определить в showScripts что его вызвали из Tabax.
Передать можно через Infolog.globalcache, а определить - опять-таки - по наличию команды в globalcache.
По крайней мере такой способ не затронет системные классы.
__________________
Возможно сделать все. Вопрос времени
Старый 11.07.2008, 09:14   #3  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Можно (по идее) попробовать обойтись и без правки класса Info.
Основная задача - послать окну Editora сообщение (окно найти через WinAPI) Alt+M (ну или какое другое) для того, чтобы ядро запустило метод showScripts.
Далее - задача передать из Tabax информацию о том, какой метод запускать и задача определить в showScripts что его вызвали из Tabax.
Передать можно через Infolog.globalcache, а определить - опять-таки - по наличию команды в globalcache.
По крайней мере такой способ не затронет системные классы.
На днях поковыряю. Посмотрю.
Есть новая кнопочка которую можно при желании повесить в tabax.
Стоим в коде на каком-нибудь поле таблицы, жмём кнопку "Справка по полю".
Открывается форма с help-ом по полю и с путями в каких формах используется это поле для ввода данных или для просмотра.
Если жмём на этот путь открывается в новом окне эта форма.
В классе SysHelpBook изменить construct
Добавить
X++:
        case 'a':
            return new SysHelpBookField(sysHelp, url);
Метод кнопки
X++:
void clicked()
{
    EditorScripts es;
    Editor        e;
;
    super();
    e = infolog.editor();
    es = new EditorScripts();
    es.helpField(e);
}
Как editor получить писал выше.
Метод в класс Editor
X++:
void helpField(Editor e)
{
    TreeNode            treeNode = TreeNode::findNode(e.path());
    TmpxRefReferences   tmpxRefReferences;
    Column              nCol = e.columnNo() + 1;
    Line                nLine = e.currentLineNo() + 1;
    ;

    treeNode.AOTmakeXref(1);
    tmpxRefReferences = xRefCreate::makeTmp(infolog.lastxRef());

    select firstonly tmpxRefReferences
        order by Column desc
        where tmpxRefReferences.line == nLine &&
              tmpxRefReferences.Column <= nCol;

    if (!tmpxRefReferences)
        return;

    treeNode = TreeNode::findNode(tmpxRefReferences.path());

    if (treeNode && tmpxRefReferences.Kind == xRefKind::TableField)
    {
        HelpField::checkPost(tmpxRefReferences.parentName, tmpxRefReferences.name);
    }
}
Миниатюры
Нажмите на изображение для увеличения
Название: 1.JPG
Просмотров: 225
Размер:	39.9 Кб
ID:	3565   Нажмите на изображение для увеличения
Название: 2.JPG
Просмотров: 357
Размер:	61.7 Кб
ID:	3566  

Нажмите на изображение для увеличения
Название: 3.JPG
Просмотров: 487
Размер:	68.0 Кб
ID:	3567  
Вложения
Тип файла: xpo HelpFieldEditor.xpo (12.3 Кб, 234 просмотров)

Последний раз редактировалось miklenew; 21.07.2008 в 13:21.
Старый 21.07.2008, 13:23   #4  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Цитата:
Сообщение от miklenew Посмотреть сообщение
Есть новая кнопочка которую можно при желании повесить в tabax.
Стоим в коде на каком-нибудь поле таблицы, жмём кнопку "Справка по полю".
Открывается форма с help-ом по полю и с путями в каких формах используется это поле для ввода данных или для просмотра.
Если жмём на этот путь открывается в новом окне эта форма.
Ошибочку нашёл в класс HelpField метод label()
добавить ещё и CheckBox.(забыл про галку)
В исходном хро исправил.
Старый 27.08.2009, 17:34   #5  
Denicce is offline
Denicce
Участник
 
62 / 54 (2) ++++
Регистрация: 22.03.2005
Адрес: Москва
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Можно (по идее) попробовать обойтись и без правки класса Info.
Основная задача - послать окну Editora сообщение (окно найти через WinAPI) Alt+M (ну или какое другое) для того, чтобы ядро запустило метод showScripts.
Далее - задача передать из Tabax информацию о том, какой метод запускать и задача определить в showScripts что его вызвали из Tabax.
Передать можно через Infolog.globalcache, а определить - опять-таки - по наличию команды в globalcache.
По крайней мере такой способ не затронет системные классы.
что-нибудь получилось написать, чтобы в табакс передать editor на 4.0? Кстати, в 4.0 вроде основной метод скриптов не ShowScripts, а getApplicableScripts, как я понял. Попытался использовать [ANN] Tabax 0.1 -- панель задач для Axapta, не получилось. Глюки какие-то лезут.
Старый 27.08.2009, 19:19   #6  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1243 (44) ++++++++
Регистрация: 11.04.2008
Цитата:
Сообщение от Denicce Посмотреть сообщение
что-нибудь получилось написать, чтобы в табакс передать editor на 4.0? Кстати, в 4.0 вроде основной метод скриптов не ShowScripts, а getApplicableScripts, как я понял. Попытался использовать [ANN] Tabax 0.1 -- панель задач для Axapta, не получилось. Глюки какие-то лезут.
Здесь HK Framework реализован совершенно иной путь отлова Editor'a, и ещё куча разных вкусностей

А здесь Получение экземпляра текущего Editor описан принцип.

Последний раз редактировалось DSPIC; 27.08.2009 в 19:22.
Теги
tabax, taskbar, toolbar, инструменты, панель задач, панель инструментов, полезное, табакс, тулбар, управление окнами

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
[ANN] Sidax 0.3.6 - многоцелевая боковая панель для Axapta belugin DAX: База знаний и проекты 104 30.06.2008 11:32
axaptafreak: Tabax: tabbed Axapta interface !!!! Blog bot DAX Blogs 0 10.11.2006 01:14
Панель задач в Аксапте wb DAX: Программирование 14 18.04.2006 17:13
Говорят вышел 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:22.