첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
본 블로그는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 블로그 콘텐츠 향상을 위해 쓰여집니다.

728x90
반응형
728x170

DevExpress 입력 컨트롤들은 대부분 ...Edit로 끝나는 타입명을 갖는다.

 

...Edit로 명칭이 끝나는 컨트롤들은 Properties라는 속성을 갖는데 RepositoryItemTextEdit와 같은 타입명을 갖고 있다.

 

RepositoryItem...Edit 타입들은 입력 컨트롤의 실질적인 처리 기능을 갖는다.

 

그리드 컨트롤 등에서 내부 에디터로 사용되기 때문에 이들 타입을 상속한 컨트롤을 정의하면 그리드 컨트롤에서도 동일하게 사용할 수 있는 장점이 있다.

 

따라서 컨트롤 상속시 반드시 지정해야 하는 코드를 TextEdit 상속을 기준으로 아래와 같이 소개하며 파생 클래스의 추가 기능은 생략한다.

▶ RepositoryItemTextEdit 상속 클래스

using DevExpress.Accessibility;
using DevExpress.XtraEditors.Drawing;
using DevExpress.XtraEditors.Registrator;
using DevExpress.XtraEditors.Repository;
using DevExpress.XtraEditors.ViewInfo;

public class RepositoryItemIntegerEditor : RepositoryItemTextEdit
{
    public override string EditorTypeName
    {
        get
        {
            return "IntegerEditor";
        }
    }

    static RepositoryItemIntegerEditor()
    {
        Register();
    }

    public static void Register()
    {
        EditorRegistrationInfo.Default.Editors.Add
        (
            new EditorClassInfo
            (
                "IntegerEditor",
                typeof(IntegerEditor), 
                typeof(RepositoryItemIntegerEditor),
                typeof(TextEditViewInfo), 
                new TextEditPainter(),
                true,
                EditImageIndexes.TextEdit,
                typeof(TextEditAccessible)
            )
        );
    }
}

 

▶ TextEdit 상속 클래스

using System.ComponentModel;

using DevExpress.XtraEditors;

public class IntegerEditor : TextEdit
{
    public override string EditorTypeName
    {
        get
        {
            return "IntegerEditor";
        }
    }

    [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
    public new RepositoryItemIntegerEditor Properties
    {
        get
        {
            return base.Properties as RepositoryItemIntegerEditor;
        }
    }

    static IntegerEditor()
    {
        RepositoryItemIntegerEditor.Register();
    }
}
728x90
반응형
그리드형
Posted by 사용자 icodebroker

댓글을 달아 주세요