zoukankan      html  css  js  c++  java
  • [AX]AX2012 工具DEV_Toolbar修改版

    做过AX开发的一定知道tabax这样一个算是AX插件的工具,它是直接用X++写成,运行后打开一个form,form上提供一些工具可以很方便的浏览表数据等,但最为实用的不妨是多了一个tab来切换窗口,这对AX开发时经常打开多个窗口是非常的有用。在这个网页上可以下载到支持AX 3.0、4.0的版本,以及支持2009的一个beta版本。

    在AX2012平台上有一位热心公益的同学开发了类似tabax的工具称为DEV_Toolbar,使用了winapi和托管代码,实现的功能和tabax也类似。DEV_Toolbar工程中提供了名为“DEV_Toolbar”的menuitem,连接到显示工具栏和tab的form。我们可以是SysAutoRun的方法在启动AX客户端时运行这个菜单项,而不需要手工的来打开这个工具form。但问题是使用这种启动运行的方法,只会在打开第一个workspace窗口的时候运行,再“new development workspace”的时候就不会再运行了,好在info类中多了一个workspaceWindowCreated()方法,在每打开一个workspace后被调用,我们在这里运行一下菜单项就可以了:

    void workspaceWindowCreated(int _hWnd)
    {
        MenuFunction mf;
        ;
        super(_hWnd);
    
        // Put workspace window specific initialization here.
        mf=new MenuFunction(menuitemDisplayStr(DEV_Toolbar), MenuItemType::Display );
        mf.run();
    
    }

    这只是第一个问题,第二个问题AX2012分业务的workspace和开发的workspace,后者是专门开发专用的,dev_toolbar工具也在这里才有用,这样不分两种workspace都运行工具窗口显然不那么好,那怎么来判断当前workspace是开发workspace呢?使用spy++仔细观察两者的窗体结构,会发现在业务workspace的MDIClient窗口下有一个“ContentFrame” class类型的窗口content pane,它用来显示area page、list page这样的数据,这是开发workspace所没有的,根据这个就可以区分开两种workspace了,具体的实现不说了,大家下载附件看看吧。

    最后向TABAX、DEV_Toolbar作者的无私奉献致敬。

  • 相关阅读:
    超酷图片压缩工具,就是不支持批量
    eclipse java热加载
    mysql 突然报错,连接不上
    svn问题终极解决办法
    svn经常困扰我的问题
    洛谷 P3628
    CodeForces 1091H
    委托的实际应用
    WPF 小知识点001
    C# 扩展方法一
  • 原文地址:https://www.cnblogs.com/duanshuiliu/p/2693941.html
Copyright © 2011-2022 走看看