Merhaba
Axapta formlarda splitter kullanımı hakkında bir örnek yapacağız.
İşte örneğimiz:
Formda 2 grubunuz olduğunu varsayalım, LeftGroup ve RightGroup . Bu iki grubu yan yana görmek için design property columns=2 yapalım. Şimdi bu iki grup arasında splitter olsun istiyoruz. Bu sayede istediğimiz gibi resize vb. kontrolleri yapabileceğiz. Bunu yapabilmek için şu adımları takip etmemiz gerekiyor:
1. Daha önce oluşturduğumuz iki grubun arasına SplitterGroup adında yeni bir grup oluşturalım. bu grubu splitter için kullanacağız.
2. SplitterGroup parametreleri şunlar olsun :
AlignChild = No
AlignControl = Yes
AutoDeclaration = Yes
FrameType = Raised3D
Height = ColumnHeight
HideIfEmpty = No
Width = 4
3. LeftGroup parametreleri şunlar olsun :
Width = 250
Height = ColumnHeight
AutoDeclaration = Yes
4. Rightgroup parametreleri şunlar olsun :
Height = ColumnHeight
Width = ColumnWidth
5. Şu anda 3 grubumuz olduğu için design property columns=3 yapalım.
6. Splitter bizim SplitterGroupa’a özellik eklemeizle elde edeceğimiz bir fonksiyon. Bunu axaptada yapabilmemizi sağlayan iki class var SysFormSplitter_X or SysFormSplitter_Y.
bizim durumda SysFormSplitter_X kullanmamız gerekiyor. formun class declaration’da Şu tanımlamayı yapalım:
public class FormRun extends ObjectRun
{
SysFormSplitter_X sysFormSplitter_X;
}
7. Axapta clasını formumuzun initinde oluşturuyoruz. The StartupHeight parameter is often omitted since it is optional.
public void init()
{
super();
sysFormSplitter_X = new
SysFormSplitter_X(SplitterGroup,LeftGroup,element,100);
}
8. Şimdi plitterGroup için çeşitli mouse metodlarını yazmalıyız :
int mouseDown(int x, int y, int button, Boolean Ctrl, Boolean Shift)
{
int ret = super(x,y,button,ctrl,shift);
;
sysFormSplitter_X.mouseDown(x,y,button,ctrl,shift);
return ret;
}
int mouseMove(int x, int y, int button, Boolean Ctrl, Boolean Shift)
{
;
super(x,y,button,ctrl,shift);
return sysFormSplitter_X.mouseMove(x,y,button,ctrl,shift);
}
int mouseUp(int x, int y, int button, Boolean Ctrl, Boolean Shift)
{
int ret = super(x,y,button,ctrl,shift);
;
sysFormSplitter_X.mouseUp(x,y,button,ctrl,shift);
return ret;
}
Evet oldu. X-Splitter artık düzgün bir şekilde çalışır.
Y-splitter da buna benzer şekilde tanımlayabilirsiniz.
Selamlar.