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

C++빌더 팁&트릭
C++Builder Programming Tip&Tricks
[828] [Controls] StatusBar힌트 표시
장성호 [nasilso] 7252 읽음    2008-12-17 11:12
IE를 보면 이미지나 글위에 마우스 커서가 가면
IE맨 아랫쪽 StatusBar에  url이나 설명 등이 나타납니다.

이와 비슷하게 VCL(C++Builder / Delphi)에서 발생하는 모든 힌트를
TStatusBar에  표시하고 싶으시다면 ...
다음과 같은 방법을 이용해 보세요


방법1
    1.1 TStatusBar를 Form위에 올려둡니다.
          (StatusBarPanel을 추가해도 되구 안해두 되구..)
    1.2  StatusBar의 Property중 AutoHint를 true로 해줍니다.
           
StatusBar1->AutoHint = true ;  

         

    그럼면 Application에서 발생하는 모든 힌트가 StatusBar에 표시됩니다.


방법2
     ; StatusBar->AutoHint=true를 이용할경우 힌트는
       StatusBarPanel[0] 에만 표시됩니다.
      만약 StatusBarPanel[0] 가 아닌 다른데 표시하고 싶다면 ... 다음과 같이...

    2.1  StatusBar의 AutoHint를 true로 하구요
    2.2  StatusBar의 OnHint 이벤트 핸들러에서 다음과 같이 코딩하시면 됩니다.
   
void __fastcall TForm1::StatusBar1Hint(TObject *Sender) 
{ 
    StatusBar1->Panels->Items[1]->Text = Application->Hint; 
} 


방법3
     ; 방법2와 같은 목적인데 StatusBar의 OnHint이벤트가 아니라
        Application->OnHint 이벤트 핸들러를 이용해서도 같은 결과를 얻을수 있습니다.
   
void __fastcall  TForm1::FormCreate(TObject *Sender) 
{ 
  Application->OnHint=AppOnHint; 
} 

void __fastcall TForm1::AppOnHint(TObject *Sender) 
{ 
  StatusBar1->Panels->Items[1]->Text = Application->Hint; 
} 


방법4
  만약 StatusBar의 AutoHint=true 이구 Application의 OnHint이벤트 핸들러도 걸려있으면
  어떻게 될까요?
  위의 경우 Application의 OnHint이벤트 핸들러만 호출됩니다.

  마약 Application의 OnHint 이벤트 핸들러도 호출되구
  StatusBar의 AutoHint도 동작하게 하려면 어떻게 하면 될까요?

그건 다음과 같이 THintAction을 이용해서 할수 있습니다..
//c++Builder 
void __fastcall TForm1::AppOnHint(TObject *Sender) 
{ 
    StatusBar1->Panels->Items[2]->Text = "Hint2:"+Application->Hint; 

    //HintAction을 생성해서 호출해줌 

    THintAction *HintAct=new THintAction(Application); 
    HintAct->Hint=Application->Hint; 
    HintAct->Execute(); 
    delete HintAct; 
} 


THintAction 동작에 대한 설명은.... 다음에...


참조
http://cafe.naver.com/bcbmaster/627
http://delphi.about.com/od/delphitips2008/qt/hint_statusbar.htm

그럼..

+ -

관련 글 리스트
828 [Controls] StatusBar힌트 표시 장성호 7252 2008/12/17
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.