자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Delphi win8 에서 실행시키면 pagecontrol의 각 tab 부분이 하얗게만 나옵니다.(글자도 안나옴)
2016.06.10 15:45
본 게시판 사용시 당부 사항
* 이 게시판은 자유롭게 질문을 올리고 자발적으로 답변을 공유하는 게시판입니다.
* 어느 누구도 답변을 달아야만 하는 책임은 없습니다.
* 따라서 질문을 올리실 때에는 최대한 자세하고 정중하게 질문을 올려 주세요.
* 최대한 질문을 자세히 올려야 답변도 자세히 올라 옵니다.
* 본 질문에 답변을 주시는 여러 개발자님들께 미리 감사드립니다.
-----------------------------------------------------------------------------------------------
pagecontrol 탭에 색상 및 글자색 변경을 하는 부분입니다.
Delphi7으로 개발..win7 환경에서는 아래 구현이 정상적으로 반영되어
색상 및 글자색이 변경 됩니다.
그런데.. 실행파일을 win8 환경에서 구동하면
그냥 하얗게만 나옵니다..
어디가 문제일까요??
windows 환경에 영향을 받나요??. 답답하네요.
pagecontrol1.OwnerDraw := True;
procedure TForm1.PageControl1DrawTab(Control: TCustomTabControl;
TabIndex: Integer; const Rect: TRect; Active: Boolean);
begin
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;
end;
댓글 3
-
관리자
2016.06.10 16:12
-
하얀돌
2016.06.13 12:01
테마 셋팅을 해제하라는 뜻이 어떤 의미인지.. 기본 테마로 설정 하라는 말인가요..
테마 셋팅을 해제하는 옵션이 있나요..
-
하얀돌
2016.06.18 17:05
win8 에서 실행시키면 pagecontrol의 각 tab 부분이 하얗게만 나옵니다.(글자도 안나옴) 질의를 한 사람입니다.
.. 저의 개발 환경이 windows7 (32bit) , delphi 7 입니다.
.. 이리저리 테스트 해보니 테마는 상관이 없는것 같고,,
.. 업무 사용자의 windws10 (32bit) 환경에서는 기술한 구현이 반영이 되고 .
.. 몇몇 업무 사용자의 windws10 (64bit) 환경에서는 기술한 구현이 반영이 안되는 것 같습니다.
.. 해결방법이 없을까요.. 이 기능을 포기하고, 프로그램을 수정해야 하는지..
Delphi win8 에서 실행시키면 pagecontrol의 각 tab 부분이 하얗게만 나옵니다.(글자도 안나옴)
2016.06.10 15:45
본 게시판 사용시 당부 사항
* 이 게시판은 자유롭게 질문을 올리고 자발적으로 답변을 공유하는 게시판입니다.
* 어느 누구도 답변을 달아야만 하는 책임은 없습니다.
* 따라서 질문을 올리실 때에는 최대한 자세하고 정중하게 질문을 올려 주세요.
* 최대한 질문을 자세히 올려야 답변도 자세히 올라 옵니다.
* 본 질문에 답변을 주시는 여러 개발자님들께 미리 감사드립니다.
-----------------------------------------------------------------------------------------------
pagecontrol 탭에 색상 및 글자색 변경을 하는 부분입니다.
Delphi7으로 개발..win7 환경에서는 아래 구현이 정상적으로 반영되어 색상 및 글자색이 변경 됩니다. 그런데.. 실행파일을 win8 환경에서 구동하면 그냥 하얗게만 나옵니다.. 어디가 문제일까요?? windows 환경에 영향을 받나요??. 답답하네요. pagecontrol1.OwnerDraw := True; procedure TForm1.PageControl1DrawTab(Control: TCustomTabControl; TabIndex: Integer; const Rect: TRect; Active: Boolean); begin 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; end; |
댓글 3
-
관리자
2016.06.10 16:12
-
하얀돌
2016.06.13 12:01
테마 셋팅을 해제하라는 뜻이 어떤 의미인지.. 기본 테마로 설정 하라는 말인가요..
테마 셋팅을 해제하는 옵션이 있나요..
-
하얀돌
2016.06.18 17:05
win8 에서 실행시키면 pagecontrol의 각 tab 부분이 하얗게만 나옵니다.(글자도 안나옴) 질의를 한 사람입니다.
.. 저의 개발 환경이 windows7 (32bit) , delphi 7 입니다.
.. 이리저리 테스트 해보니 테마는 상관이 없는것 같고,,
.. 업무 사용자의 windws10 (32bit) 환경에서는 기술한 구현이 반영이 되고 .
.. 몇몇 업무 사용자의 windws10 (64bit) 환경에서는 기술한 구현이 반영이 안되는 것 같습니다.
.. 해결방법이 없을까요.. 이 기능을 포기하고, 프로그램을 수정해야 하는지..
제어 판>개인설정 에서 테마 셋팅을 해제하시고 실행해 보시기 바랍니다.
이전 버전의 색상이나 그림이 표시안되는 경우가 윈도우의 테마 지정으로 인한 경우가 있습니다.
확인해 보시고 결과를 저희 게시판에 올려 주시기 바랍니다.