|
|
|
CToolTipCtrl ttctl; |
- Create함수 추가
|
ttctrl.Create(this); |
u ToolTip 메시지 등록
- AddTool 함수를 사용한다.
|
ttctl.AddTool(&m_name, _T(“이름을 입력 하세요”)); |
u 마우스 메시지 전달
마우스 메시지를 전달 해주어야 툴팁 화면을 출력 할 수 있다.
PreTranslateMessage 함수 재정의
|
BOOL CEx_ToolTipDlg::PreTranslateMessage(MSG *pMsg) { ttctl.RelayEvent(pMsg); return CDialog::PreTranslateMessage(pMsg); } |
u 동적 ToolTip Control(이동 조건에 따라 내용이 바뀜)
툴팁 컨트롤이 문자열을 표시해야 될 때마다 대화상자에 TTN_NEEDTEXT 이벤트를 발생
- 헤더에 선언
|
Class CEx_ToolTip : public CDialog { ……… void OnNeedText(NMHDR *pnmh, LRESULT *pResult); } |
- 메시지 맵 등록
|
BEGIN_MESSAGE_MAP(CEx_ToolTip, CDialogEX) …… ON_NOTIFY(TTN_NEEDTEXT, NULL, OnNeedText) END_MESSAGE_MAP() |
- 이벤트처리기
|
void CEx_ToolTipDlg::OnNeedText(NMHDR *pnmh, LRESULT *pResult) { TOOLTIPTEXT *pttt = (TOOLTIPTEXT *)pnmh; If(pttt->hdr.idForm == (UINT)m_slide.GetSafeHwnd()) { int pos = m_slide.GetPos(); wsprintf(pttt->szText, TEXT(“현재 입력 값 : %d”), pos); } } |
|
|