반응형
1.요약
Dialog Box의 Control에 Tooltip넣기
2.본문
Tooltip은 CToolTipCtrl 클래스를 이용하면 쉽게 구현할 수 있습니다. 먼저 Create()를 호출해서 Tooltip 객체를 생성합니다. 그리고 나서 AddTool()을 호출해 각각의 컨트롤과 Tooltip 문자열을 연결해 줍니다. 여기서 Tooltip 문자열을 표시해 주는 함수는 ReplyEvent()이며, Tooltip 컨트롤 객체를 생성해 주고 컨트롤과 연결할 수 있는 가장 적당한 곳은 WM_INITDIALOG 메시지의 핸들러(OnInitDialog())입니다.
이렇게 Tooltip을 초기화해 준 후에 ReplyEvent()를 호출하면 툴팁을 볼 수 있으며, 나머지 처리는 PreTranslateMessage()에서 담당합니다.
3.예제
BOOL CTooltipDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// 툴팁 컨트롤을 생성해 준다.
m_ctrTooltip.Create(this);
// AddTool 함수에 컨트롤 객체의 포인터와 툴팁 문자열을 설정한다.
m_ctrTooltip.AddTool(&m_ctrEdit, "여기에 이름을 넣으세요");
m_ctrTooltip.AddTool(&m_ctrBtnOK, "여기를 누르면 확인입니다");
m_ctrTooltip.AddTool(&m_ctrBtnCancel, "여기를 누르면 취소입니다.");
return TRUE;
}
BOOL CTooltipDlg::PreTranslateMessage(MSG* pMsg)
{
if (pMsg->message == WM_LBUTTONDOWN ||
pMsg->message == WM_LBUTTONUP ||
pMsg->message == WM_MOUSEMOVE)
{
// 툴팁을 보여 준다.
m_ctrTooltip.RelayEvent(pMsg);
}
return CDialog::PreTranslateMessage(pMsg);
}
반응형
'C & C++ > MFC 컨트롤' 카테고리의 다른 글
[List] 리스트 컨트롤에 다른 컨트롤 넣기 (1) | 2011.03.27 |
---|---|
[Tip] Winamp 처럼 TaskBar와 SystemTray 가지고 놀기 (0) | 2011.03.27 |
[Edit] 한글입력을 받고싶지 않을때 (0) | 2011.03.27 |
[Tip] 트레이 아이콘 사라지는 버그 (0) | 2011.03.27 |
[Tip] 윈도우에 Focus 가지 않게 하기 (0) | 2011.03.27 |
댓글