풍선 도구 설명 구현 방법

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

줄기 및 사각형의 기본 위치는 다음 그림에 나와 있습니다. 도구가 화면 맨 위에 너무 가까이 있으면 도구 설명이 도구 사각형의 아래와 오른쪽에 나타납니다. 도구가 화면 오른쪽에 너무 가까이 있으면 비슷한 원칙이 적용되지만 도구 설명이 도구 사각형의 왼쪽에 나타납니다.

screen shot of a dialog box; a balloon tooltip with one line of text appears above and to the right of the target

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

다음 그림에서는 도구 가운데에 있는 도구 설명을 보여 줍니다.

screen shot of a dialog box; a balloon tooltip with one line of text appears centered below the target

줄기 지점 위치를 지정하려면 도구 설명 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 );

}
            

도구 설명 컨트롤 사용

도구 설명 스타일