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作者的无私奉献致敬。

  • 相关阅读:
    使用JavaScript让网页title动起来 TC
    Asp.net获取客户端登录者mac地址 TC
    HTTP错误 500.23Internal Server Error 检测到在集成的托管管道模式下不适用的ASP.NET设置 TC
    上下文字\图片滚动 无JS TC
    SQL语句优化(雷人代码) TC
    js获得url请求参数 TC
    HTTP状态码 TC
    Javascript之表格隔行变色 TC
    C# FTP上传文件报550异常解决方案 TC
    javascript 点击固定数据 隐藏或显示DIV TC
  • 原文地址:https://www.cnblogs.com/duanshuiliu/p/2693941.html
Copyright © 2011-2022 走看看