Q&A

  • win8 에서 실행시키면 pagecontrol tabsheet 부분이 하얗게 되어 보입니다.

pagecontrol 탭에 색상 및 글자색 변경을 하는 부분입니다.


Delphi7으로 개발 win7 환경에서는 아래 구현이 정상적으로 반영되나

win8 환경에서는 구현이 되지않습니다.


어디가 문제일까요??


pagecontrol1.OwnerDraw := True;


with Control.Canvas do
  begin
    if Active then // 현재 선택된 탭이면
    begin
      Brush.Color := $0099C1FD;
      Rectangle(Rect); // 탭 영역을 $0099C1FD으로 채색
      Font.Color := $00000000; //clBlack; // caption은 clBlack 색으로
      TextOut(Rect.Left+8, Rect.Top+3, TPageControl(Control).Pages[TabIndex].Caption); // 탭 caption을 출력
    end
    else
    begin // 선택되지 않은 탭이면
      Brush.Color := $00FFFFFF;//clWhite;
      FillRect(Rect); // 탭 영역을 clWhite 로 채색
      Font.Color := $00000000; //clBlack; // caption은 clBlack 색으로
      TextOut(Rect.Left+4, Rect.Top+3, TPageControl(Control).Pages[TabIndex].Caption); // 탭 caption을 출력
    end;
  end;

0  COMMENTS