C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[21480] [질문] canvas의 영역에 글씨를 출력할때 폰트의 색을 바꾸는 방법좀 갈켜주세요,.
민인학 [h2h1995] 842 읽음    2002-09-16 14:55
아래와 같이.. Status바의 canvas영역에 스크롤바를 직접 line으로 그려주는데요..
아무리 해도.. 폰트의 색이 바뀌지 않습니다..
계속 흰색만 나오는군요..
제발 아시는 분은 답변좀 부탁드립니다.

capture한 그림을 첨부합니다.


int iProveEdifParsingMessage(int progress)
{
        int static temp = -1;

        if(temp!=progress) {
                temp = progress;
                RECT Rect, ProgressRect, TextRect;
                TCanvas& c = *iProveMain->StatusBar1->Canvas;
                iProveMain->StatusBar1->Perform(SB_GETRECT, 0, (LPARAM)&Rect);
                int Step = ((Rect.right+1)-(Rect.left-1))/99;

                c.Brush->Style = bsSolid;
                c.Brush->Color = clBtnFace;
                ProgressRect.left = Rect.left+2;
                ProgressRect.top = Rect.top+2;
                ProgressRect.right = Rect.right-2;
                ProgressRect.bottom = Rect.bottom-2;
                c.FillRect(ProgressRect);

                if(progress<=99) {
                        c.Pen->Color = clBtnHighlight;
                        c.MoveTo(Rect.left+2, Rect.top+2 );
                        c.LineTo(Rect.left+2+(Step*progress), Rect.top+2);
                        c.LineTo(Rect.left+2+(Step*progress), Rect.bottom-2);
                        c.Pen->Color = clBtnShadow;
                        c.LineTo(Rect.left+2, Rect.bottom-2);
                        c.LineTo(Rect.left+2, Rect.top+2);
                } else {
                        c.Pen->Color = clBtnHighlight;
                        c.MoveTo(Rect.left+2, Rect.top+2);
                        c.LineTo(Rect.right-2, Rect.top+2);
                        c.LineTo(Rect.right-2, Rect.bottom-2);
                        c.Pen->Color = clBtnShadow;
                        c.LineTo(Rect.left+2, Rect.bottom-2);
                        c.LineTo(Rect.left+2, Rect.top+2);
                }

                TextRect = Rect;
                TextRect.top = Rect.top+3;
                c.Brush->Color = clBtnFace;
                AnsiString Caption = PRINTF("%s(%d%)", iProveCurrentEdifFileParsing.c_str(), progress);
                DrawText(c.Handle, Caption.c_str(), -1, (RECT*)&TextRect, DT_SINGLELINE | DT_CENTER);

                Application->ProcessMessages();
        }
        return 0;
}

+ -

관련 글 리스트
21480 [질문] canvas의 영역에 글씨를 출력할때 폰트의 색을 바꾸는 방법좀 갈켜주세요,. 민인학 842 2002/09/16
30658     Re:[질문] canvas의 영역에 글씨를 출력할때 폰트의 색을 바꾸는 방법좀 갈켜주세요,. 민인학 672 2002/09/16
30657     Re:[질문] canvas의 영역에 글씨를 출력할때 폰트의 색을 바꾸는 방법좀 갈켜주세요,. FriendPlus 642 2002/09/16
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.