今天花了些功夫,把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下重载mouseMove,mouseUp,mouseDown这三个方法,如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
浙公网安备 33010602011771号