splitter etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
splitter etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

2 Eylül 2014 Salı

AX 2012 - Forma splitter eklemek

AX 2012'de splitter eklemek 2009'a göre çok daha kolay. Burada dikey splitter'i anlatacağım:

Formun üst parçası için bir grup oluşturun. Splitter için bir grup oluşturun. Ben Hsplitter adını verdim. AutoDeclaration = Yes olsun ve Style = SplitterHorizontalContainer olsun. Alt taraf için de bir grup oluşturun. Üst gruba bir isim verin. Burada ben TopGroup adını verdim, ayrıca bu grup için de AutoDeclaration = Yes olsun. Alt grup için Height Column Height olsun. Splitter grubu bu iki grubun arasında olsun.

Form classDeclaration'a bu satırı ekleyin:

SysFormSplitter_Y                       HorizontalSplitter;

Eğer yatay olacaksa SysFormSplitter_X olmalı. Form init metoduna da bu satırı ekleyin:

HorizontalSplitter = new SysFormSplitter_Y(HSplitter,TopGroup, element);

Yatay olacaksa new SysFormSplitter_X ... olmalı.

Hepsi bu...


13 Ekim 2011 Perşembe

AXAPTA Splitter Kontrol

Axapta gerçek bir splitter kontrole sahip değil. Grup paneliyle bir class yapılmış ve bu birleştirilmiş. Axapta içinde bunu kullanan bazı formlar var. İsteyen oradan da bakabilir.
ClassDeclaration'a aşağıdaki kodlar yazılıyor:

    SysFormSplitter_X               _VerticalSplitter;
    SysFormSplitter_Y               _HorizontalSplitter;



Birincisi dikey splitter için, ikincisi ise yatay. Aşağıdaki kodu da formun init'ine yazıyoruz:

   _VerticalSplitter = new SysFormSplitter_X(VerticalSplitter,groupLeft,element);
   _HorizontalSplitter = new SysFormSplitter_Y(HorizontalSplitter,groupTop,element);

Dikey Splitter İçin Ayarlar:
Yukarıdaki VerticalSplitter, dikey splitter kontrol için kullandığımız Group kontrolü. Group kontrolün değerlerini aşağıdaki gibi ayarlıyoruz:
AlignChild = No
AlignControl = Yes
AutoDeclaration = Yes
BackgroundColor = Window background
FrameType = Raised 3D
HideifEmpty = No
Height = Column height
Width = 5
Dikey splitter'in sağına ve soluna birer group kontrol koyuyoruz ve parent kontrolünü de 3 column olarak ayarlıyoruz. Eğer buraya dikkat etmezsek ekran tuhaf birşey olur çıkar. Soldaki grubu Autodeclaration = Yes yapıyoruz. Soldaki grubun adı yukarıdaki groupLeft oluyor. Height değerini Column Height yapıyoruz, Width değerini de 100-200 gibi birşey ayarlıyoruz, bu değer zaten biz kaydırdıkça değişecek ve saklanacak. Sağdaki grubun height değerini column height ve width değerini de column width olarak ayarlıyoruz, başka bir ayar gerekmiyor burası için.
Dikey splitter'in methodlarını da aşağıdaki gibi ayarlıyoruz:

int mouseUp(int x, int y, int button, boolean ctrl, boolean shift)
{
    int ret;

    ret = super(x, y, button, ctrl, shift);

    Return _VerticalSplitter.mouseUp(x, y, button, ctrl, shift);
}

int mouseMove(int x, int y, int button, boolean ctrl, boolean shift)
{
    int ret;

    ret = super(x, y, button, ctrl, shift);

    Return _VerticalSplitter.mouseMove(x,y,button,ctrl,shift);
}

int mouseDown(int x, int y, int button, boolean ctrl, boolean shift)
{
    int ret;

    ret = super(x, y, button, ctrl, shift);

    Return _VerticalSplitter.mouseDown(x, y, button, ctrl, shift);
}

Yatay Splitter İçin Ayarlar:
Burada sadece dikeyden farklı olanları anlatacağım. Yatay'ın farklı ayarları:
Parent kontrolde columns = 1 olacak.
Height = 5
Width =Column Width
Örneğimizdeki üstündeki grubun adı groupTOP. Farklı olarak Height değeri 100-200 gibi birşey ve Width değeri Column width. Methodlarına da yukarıdakinden farklı olarak _VerticalSplitter yerine _HorizontalSplitter yazılacak. Altta kalan grubun Width değeri Column Width ve Height değeri de Column Height olacak.


Hepsi bu. Bana ilk incelediğimde çok karışık gelmişti, ancak formdan ayıklayınca ve biraz kurcalayınca aslında basit birşey olduğunu gördüm.