다음을 통해 공유


풍선 도구 설명을 구현하는 방법

풍선 도구 설명은 표준 도구 설명과 유사하지만 도구를 가리키는 줄기가 있는 만화 스타일의 "풍선"에 표시됩니다. 풍선 도구 설명은 한 줄 또는 여러 줄일 수 있습니다. 표준 도구 설명과 거의 동일한 방식으로 만들어지고 처리됩니다.

다음 그림에서는 스템 및 사각형의 기본 위치를 보여 줍니다. 도구가 화면 상단에 너무 가까우면 도구와 관련된 설명이 사각형의 오른쪽 아래에 나타납니다. 도구가 화면 오른쪽에 너무 가까이 있으면 비슷한 원칙이 적용되지만 도구 설명은 도구 사각형의 왼쪽에 나타납니다.

대화 상자의 스크린샷 ; 한 줄짜리 텍스트가 있는 풍선 도구 설명이 대상의 위쪽과 오른쪽에 나타납니다.

도구 설명 TOOLINFO 구조체의 uFlags 멤버에서 TTF_CENTERTIP 플래그를 설정하여 기본 위치를 변경할 수 있습니다. 이 경우 스템은 일반적으로 도구 사각형의 아래쪽 가장자리 가운데를 가리키고 텍스트 사각형은 도구 바로 아래에 표시됩니다. 줄기는 위쪽 가장자리의 가운데에 있는 텍스트 사각형에 연결됩니다. 도구가 화면 아래쪽에 너무 가까이 있으면 텍스트 사각형이 도구의 가운데에 배치되고 줄기가 아래쪽 가장자리의 가운데에 연결됩니다.

다음 그림은 도구 위에 중앙에 배치된 도구 설명을 보여 줍니다.

대화 상자의 스크린샷 , 한 줄의 텍스트가 있는 풍선 도구 설명이 대상 아래쪽 중앙에 나타납니다.

스템 지점 위치를 지정하려면 도구 설명 TOOLINFO 구조체의 uFlags 멤버에서 TTF_TRACK 플래그를 설정합니다. 그런 다음 lParam 값에 x 및 y 좌표를 사용하여 TTM_TRACKPOSITION 메시지를 전송하여 좌표를 지정합니다. TTF_CENTERTIP 설정되면 스템은 여전히 TTM_TRACKPOSITION 메시지에서 지정한 위치를 가리킵니다.

알아야 할 사항

기술

필수 구성 요소

  • C/C++
  • Windows 사용자 인터페이스 프로그래밍

지시

풍선 툴팁 구현

다음 예제 코드에서는 TTS_BALLOON 도구 설명 컨트롤 스타일을 사용하여 중앙에 풍선 도구 설명을 구현하는 방법을 보여줍니다.

hwndToolTips = CreateWindow(TOOLTIPS_CLASS, NULL, 
                            WS_POPUP | TTS_NOPREFIX | TTS_BALLOON, 
                            0, 0, 0, 0, NULL, NULL, g_hinst, NULL);

if (hwndTooltip)
{
    TOOLINFO ti;

    ti.cbSize   = sizeof(ti);
    ti.uFlags   = TTF_TRANSPARENT | TTF_CENTERTIP;
    ti.hwnd     = hwnd;
    ti.uId      = 0;
    ti.hinst    = NULL;
    ti.lpszText = LPSTR_TEXTCALLBACK;

    GetClientRect(hwnd, &ti.rect);

    SendMessage(hwndToolTips, TTM_ADDTOOL, 0, (LPARAM) &ti );

}
            

도구 설명 컨트롤 사용

도구 설명 스타일