Splitter Control

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.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Dijital Dönüşümünüzü AI İle Hızlandırın

Dynamics 365 ve AI destekli çözümlerle iş süreçlerinizi optimize edin, verinizi anlamlı içgörülere dönüştürün ve büyümenizi sürdürülebilir hale getirin.

AI-Ready Enterprise Partner

Microsoft Dynamics 365 ve yapay zekâ çözümleriyle kurumsal sistemlerinizi güçlendirir, operasyonel karmaşıklığı azaltır ve geleceğe hazır bir mimari tasarlarız.

DMR Göztepe Merkez Ofis

Eğitim Mah. Hızırbey Cad. No:118/5 D:1 Kadıköy İstanbul

Marmara Üniversitesi Göztepe Kampüsü Teknopark

Tel: +90 216 470 79 49

E-posta: info@dmrbt.com

DMR Başıbüyük Ofis

Başıbüyük Mahallesi Süreyyapaşa Başıbüyük Yolu Sk. No: 4/7 Maltepe İstanbul

Marmara Üniversitesi Başıbüyük Kampüsü Teknopark

Tel: +90 216 470 79 49

E-posta: info@dmrbt.com