ToolTip Control
26기 박성신
목차
u ToolTip Control의 정의
u ToolTip Control 생성
u ToolTip 메시지 등록
u 마우스 메시지 전달
u 동적 ToolTip Control
u ToolTip Control의 정의
마우스 커서가 버튼이나 컨트롤 위에서 멈추었을 때 짤막한 도움말을 출력시켜주는 작은 윈도우
u ToolTip Control 생성
- 인스턴스 추가
|
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); } } |