본문 바로가기

프로그램 개발/델파이

퀀텀 그리드 tcxgrid 헤더(heder) 컬러(color) 변경 해보자

728x90
반응형

 

[Delphi]

procedure <AForm>.<ATableView>CustomDrawColumnHeader( Sender: TcxGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridColumnHeaderViewInfo; var ADone: Boolean);

begin

...

     ACanvas.FillRect(AViewInfo.Bounds, clLime); // 색을 채워 줍니다 

     //procedure TcxCanvas.FillRect(const R: TRect; AColor: TColor);

 

     ACanvas.FrameRect(AViewInfo.Bounds, clBlack, 1, cxBordersAll);  프레임 색도 지정해주고       

    //procedure TcxCanvas.FrameRect(const R: TRect; Color: TColor = clDefault;  ALineWidth: Integer = 1; ABorders: TcxBorders = cxBordersAll;  AExcludeFrame: Boolean = False);

 

     //텍스트의 위치도 중앙으로 정렬해줍니다 

     ACanvas.DrawTexT(AViewInfo.Text, AViewInfo.TextAreaBounds, cxAlignHCenter or cxAlignVCenter);

     //procedure TcxCanvas.DrawTexT(const Text: string; R: TRect; Flags: Integer; Enabled: Boolean = True);

 

    //폰트 색상을 변경 하시려면 아래 처럼 수정 하셔도 됩니다 

     ACanvas.Font.Color := clWhite;  

 

     ADone := True;

...

end;

 

폰트색만 빼고 이런 형태의 샘플을 제고 하네요 

소스는 아래 참고 하세요 ~ ^^

https://www.devexpress.com/Support/Center/Question/Details/Q525636/customdrawcolumnheader-change-color-on-header

 

 

주위 하실 점은 

I believe that your NativeStyle property is True. I recommend you set the TcxGrid.LookAndFeel.Native style property to False. If you wish to change the header color with enabled NativeStyle, it is necessary to draw the header manually.

(NativeStyle 속성이 True라고 생각합니다. TcxGrid.LookAndFeel.Native 스타일 속성을 False로 설정하는 것이 좋습니다. NativeStyle을 사용하여 헤더 색상을 변경하려면 헤더를 수동으로 그려야합니다.) 

 

라고 Mikhail (DevExpress Support) 님께서 말씀하시네요  ~ ^^ 

 

Devexpress 는 한글 설명이 별로 없네요 ~ 

그래서 정리 할겸 이렇게 남겨 봅니다 ~~ 

 

 

 

 

반응형