about uscontact

다이얼로그박스에 툴팁을 추가하려면

Category:
Author: zemna
Date: April 17, 2021
Share this:

툴팁은 CToolTipCtrl 클래스를 이용하면 쉽게 구현할 수 있습니다. 먼저 Create()를 호출해서 툴팁 객체를 생성합니다. 그리고 나서 AddTool()를 호출해 각각의 컨트롤과 툴팁 문자열을 연결해 줍니다. 여기서 툴팁 문자열을 표시해 주는 함수는 ReplyEvent()이며, 툴팁 컨트롤 객체를 생성해 주고 컨트롤과 연결할 수 있는 가장 적당한 곳은 WM_INITDIALOG 메시지의 핸들러(OnInitDialog())입니다.

이렇게 툴팁을 초기화해 준 후에 ReplyEvent()를 호출하면 툴팁을 볼 수 있으며, 나머지 처리는 PreTranslateMessage()에서 담당합니다.

[code lang="cpp"]

void CTooltipDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CTooltipDlg) DDX_Control(pDX, IDOK, m_btnOK); DDX_Control(pDX, IDCANCEL, m_btnCancel); DDX_Control(pDX, IDC_EDIT, m_edit); //}}AFX_DATA_MAP }

BOOL CTooltipDlg::OnInitDialog() { CDialog::OnInitDialog(); // 툴팁 컨트롤을 생성해 준다. m_tooltip.Create(this); // AddTool 함수에 컨트롤 객체의 포인터와 툴팁 문자열을 설정한다. m_tooltip.AddTool(&m_edit, "여기에 이름을 넣으세요"); m_tooltip.AddTool(&m_btnOK, "여기를 누르면 확인입니다"); m_tooltip.AddTool(&m_btnCancel, "여기를 누르면 취소입니다."); return TRUE; }

BOOL CTooltipDlg::PreTranslateMessage(MSG* pMsg) { switch(pMsg->message) { case WM_LBUTTONDOWN: case WM_LBUTTONUP: case WM_MOUSEMOVE: // 툴팁을 보여 준다. m_tooltip.RelayEvent(pMsg); } return CDialog::PreTranslateMessage(pMsg); } [/code]

Share this:

Leave a Reply

Your email address will not be published.

ZEMNA.NET

Professional software development agency estalished in Indonesia. We offers website setup, web application development, fulfillment service, and etc.
Follow us
Follow us to get latest news and tutorials.
2022 - Copyright, All Rights Reserved, Made by ZEMNA.NET with ❤️
magnifiercrossmenu