我 的 IT 之 路——Axapta 成 长 日 记

无 止 境 地 追 求 卓 越
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

关于Form中Splitter的用法

Posted on 2008-11-10 14:51  Michael Chow  阅读(1150)  评论(0)    收藏  举报

     今天花了些功夫,把Form里Splitter的用法了解了一下,其功能和使用方法很简单,如下,:

     首先在Form上创建一个新的Group,一般重命名为Spillter。修改其中的一些属性:AutoDeclaration  Yes,Width(若是垂直,设置为固定宽度,建议为3),Height,FrameType  Raised 3D,Backgroundcolor   Window background,HideIfEmpty  NO。

     然后是重载方法,首先,在Form的ClassDelaration中定义 SysFormSplitter_X   formSplitter(垂直Splitter,若为水平:SysFormSplitter_Y  formSplitter;);其次,在Init中初始化 formSplitter = new SysFormSplitter_X(Splitter,TopGroup,element),参数依次为:分隔条,分隔条左边或上方的控件,一般为Group,然后是element(this也行,我没理解这个参数的用处,如果有人知道,望赐教);然后就是在Splitter下重载mouseMovemouseUpmouseDown这三个方法,如mouseMove:

public int mouseMove(int _x, int _y, int _button, boolean _Ctrl, boolean _Shift)
{
    int ret;

    ret = super(_x, _y, _button, _Ctrl, _Shift);

    return formSplitter.mouseMove(_x,_y,_button,_ctrl,_shift);
}

注意在return时应为 formSplitter.mouseMove(_x,_y,_button,_ctrl,_shift)

mouseUp,mouseDown方法相同。

除此之外还要注意,splitter旁边的Group不要忘了设置宽度和高度自动为 Column width或Column height