다음을 통해 공유


여러 줄 툴팁을 구현하는 방법

여러 줄 도구 설명을 사용하면 텍스트를 둘 이상의 줄에 표시할 수 있습니다.

버전 4.70 이상 일반 컨트롤에서 지원됩니다. 애플리케이션은 표시 사각형의 너비를 지정하는 TTM_SETMAXTIPWIDTH 메시지를 전송하여 여러 줄 도구 설명을 만듭니다. 이 너비를 초과하는 텍스트는 표시 영역을 넓히지 않고 다음 줄로 줄 바꿈됩니다. 추가 선을 수용하기 위해 필요에 따라 사각형 높이가 증가합니다. 툴팁 컨트롤은 줄을 자동으로 감싸거나, 캐리지 리턴/줄 바꿈 조합(\r\n)을 사용하여 특정 위치에서 줄 바꿈을 강제로 적용할 수 있습니다.

결과 표시는 다음 그림에 나와 있습니다.

대화 상자와 도구 설명이 있는 화면 캡처로, 도구 설명에는 여러 줄 단락처럼 배열된 텍스트가 포함되어 있습니다 .

메모

NMTTDISPINFO 구조체의 szText 멤버로 지정된 텍스트 버퍼는 80자만 수용할 수 있습니다. 더 긴 문자열을 사용해야 하는 경우 NMTTDISPINFOlpszText 멤버를 원하는 텍스트가 포함된 버퍼로 가리킵니다.

 

알아야 할 사항

기술

필수 구성 요소

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

지시

여러 줄 툴팁 구현

다음 코드 조각은 간단한 TTN_GETDISPINFO 알림 처리기의 예입니다. 표시 영역을 150픽셀로 설정하여 여러 줄 도구 설명을 사용할 수 있습니다. 첫 번째 단어 뒤에 수동 줄 바꿈이 삽입되어 줄 바꿈이 딱딱하고 부드러울 수 있음을 표시합니다.

    case WM_NOTIFY:
    {
        switch (((LPNMHDR)lParam)->code)
        {
        case TTN_GETDISPINFO:
            LPNMTTDISPINFO pInfo = (LPNMTTDISPINFO)lParam;
            SendMessage(pInfo->hdr.hwndFrom, TTM_SETMAXTIPWIDTH, 0, 150);
            wcscpy_s(pInfo->szText, ARRAYSIZE(pInfo->szText), 
                L"This\nis a very long text string " \
                L"that must be broken into several lines.");
            break;
        }
        break;
    }

툴팁 컨트롤 사용