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
[25223] Re:Re:[질문]ststusbar의 글자색 바꾸기
바램 [carl] 1079 읽음    2003-04-16 11:06
답변고맙습니다 
님과 같은 방법으로 하기는 했지만,,, 
전 Textout에 들어가 Text 문제가 프로그램 진행 동안에 계속 변하게 하고 싶었거든여.. 
그래서 OnDrawPanel의 event가 데이타가 변할때에 호출 될수 있도록 하고 싶습니다. 
그런데.. 
그 방법이 마땅치가 않더군여,,, 
WM_PAINT가 발생될경우와 ststusbar의 크기가 변할경우 윈도우 사이즈가 변할경우 가 있던데.. 
이런 방법보다  
사실 WM_PAINT는  
messagehandler에서 (WM_PAINT,TMESSAGE,OnPaint)일 경우 
TMESSAGE의 내용과 OnDrawPanel의 인자와 연결시키는 방법을 모르겠습니다. 
혹시 아시면 답변 부탁드립니다. 
초보라..확실히 아는게 없네여..


김영민 님이 쓰신 글 :
: 글자를 바꾼다는 얘기는 그리기를 다시 한다고 볼 수 있습니다.
: 1. OnDrawPanel에 해당하는 함수를 Events에서 만듭니다.
: 2. TImageList를 하나 사용합니다.
: 3. 다음과 같이 코딩합니다.
:
: void __fastcall TfrmMain::barStatusDrawPanel(TStatusBar *StatusBar,
:       TStatusPanel *Panel, const TRect &Rect)
: {
:   TCanvas *pCanvas = StatusBar->Canvas;
:   if (Panel->Index==0)
:   {
:     pCanvas->FillRect(Rect);
:     imgStatus->Draw(pCanvas, Rect.Left, Rect.Top, 0, true);
:     pCanvas->TextOut(Rect.left+20, Rect.top+2, Application->Title);
:   }
:   else if (Panel->Index==1)
:   {
:     pCanvas->Brush->Color  = clBlack;
:     pCanvas->Font->Color   = clYellow;
:     pCanvas->Font->Style   = TFontStyles() << fsBold;
:
:     pCanvas->FillRect(Rect);
:     imgStatus->Draw(pCanvas, Rect.Left, Rect.Top, 1, true);
:     pCanvas->TextOut(Rect.left+20, Rect.top+2, "Panel 1" );
:   }
:   else if (Panel->Index==2)
:   {
:     // ......
:   }
:   else
:   {
:     // ......
:   }
: }
:
: 이상입니다.
:
: 바램 님이 쓰신 글 :
: : 다음과 같이 statusbar의 글자를 바꿀려고 합니다
: : statusbar에서 Panel을 2개로 나눈뒤
: : 거기에 쓸 글자를 바꿀려고 다음과 같이 statusbar를 setting 했는데여..
: : 바뀌지가 않는구여..
: : statusbar의 property의 Font에서 바꿔도 바뀌지가 않더군여..
: :
: : TCanvas* pCanvas = StatusBar1->Canvas;
: : pCanvas->Font->Color = clRed;
: :
: : StatusBar1->Panels->Items[0]->Text = nowvalue;  //현재값 출력...AnsiString
: : StatusBar1->Panels->Items[1]->Text = status;  //그때의 상태..AnsiString..
: :
: : 제가 어디를 잘 못적었나요?..
: :
: :
: :

+ -

관련 글 리스트
25183 [질문]ststusbar의 글자색 바꾸기 바램 682 2003/04/12
32314     Re:[질문]ststusbar의 글자색 바꾸기 누군가 754 2003/04/14
32313     Re:[질문]ststusbar의 글자색 바꾸기 초보 741 2003/04/14
32312     Re:[질문]ststusbar의 글자색 바꾸기 누군가 661 2003/04/14
25222     Re:[질문]ststusbar의 글자색 바꾸기 김영민 938 2003/04/15
25223         Re:Re:[질문]ststusbar의 글자색 바꾸기 바램 1079 2003/04/16
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.