달짱달짱

[C++/MFC] CToolTipCtrl(툴팁) 사용하기 본문

MFC

[C++/MFC] CToolTipCtrl(툴팁) 사용하기

달콩쨩 2020. 6. 22. 16:12

 

마우스 커서 갖다 대면 메시지 뜨는 툴팁 사용하기 

▲ 툴팁 사용 예제

 

// 해당 클래스의 헤더파일에 폰트객체를 선언한다.
private:
    CToolTipCtrl m_tip_ctrl;

 

//클래스 마법사에서 PreTranslateMessage 메시지를 등록하고 해당 메시지 핸들러에
// 아래의 코드를 추가한다.
BOOL 클래스명::PreTranslateMessage(MSG* pMsg)
{
    m_tip_ctrl.RelayEvent(pMsg);
    return CDialog::PreTranslateMessage(pMsg);
}

 

// OnInitDialog()함수에 아래의 코드를 추가한다.
BOOL 클래스명::OnInitDialog()
{
    .......... 중간 생략 ..........
 
    // 툴팁컨트롤을 생성한다.
   m_tip_ctrl.Create(this);

   // 툴팁이 사용할 컨트롤의 ID가 IDC_STATIC 이라고 하면 아래와 같이 사용할
   // 내용을 명시해야 한다.
   m_tip_ctrl.AddTool(GetDlgItem(IDC_STATIC), _T("★STATIC 툴팁★"));

   // 툴팁에 사용할 내용이 너무 긴 경우에 한줄로 표시되면 사용자가 불편할 수 있다.
   // 이런 경우에는 툴팁의 폭을 제한하여 여러줄로 출력하게 만들면 된다.
   // 명시한 툴팁 내용의 폭이 300을 넘어서면 다음줄로 넘겨서 출력한다.
   m_tip_ctrl.SetMaxTipWidth(300);

   // 툴팁에 별다른 설정을 하지 않으면 툴팁이 출력되었다가 일정시간이 지나면
   // 사라져 버린다. 보통 이 시간이 너무 짧아서 사용자가 불편함을 느끼는 경우가 있는데
   // 이러한 경우에는 아래의 코드처럼 시간을 늘려주면 된다.
   // 툴팁의 출력지속 시간을 20초로 늘린다. ( 20000 -> 20초 )
   m_tip_ctrl.SetDelayTime(TTDT_AUTOPOP, 20000);

   // 동일한 클래스에서 추가적인 컨트롤에 툴팁을 사용하고 싶다면 툴팁 컨트롤을
   // 추가할 필요없이 AddTool 함수만 추가로 호출하면 된다.
   // 추가적으로 툴팁을 사용할 컨트롤의 ID가 IDC_BUTTON1 이라고 하면 아래와 같이
   // 툴팁의 내용을 명시하면 된다.
   m_tip_ctrl.AddTool(GetDlgItem(IDC_BUTTON1), _T("★버튼 툴팁★"));
 
    return TRUE;
}

 

STATIC TEXT 에서 툴팁을 사용하고자 할 때에는 반드시 STATIC TEXT 의 모양 에서 Notify 항목을 TRUE 로 변경해야한다. 

출처 : http://www.tipssoft.com/bulletin/board.php?bo_table=FAQ&wr_id=293

 

팁스소프트 > MFC/API 가이드 > [Tip] 툴팁(CToolTipCtrl) 사용하기

[Tip] 툴팁(CToolTipCtrl) 사용하기  글쓴이 : 관리자   트랙백 주소 : http://www.tipssoft.com/bulletin/tb.php/FAQ/293 팁스소프트에서 제공하는 프로그래밍과 관련된 자료나 정보들을 무단으로 복제하거나 게��

www.tipssoft.com