다음을 통해 공유


단추에 대한 도구 설명을 표시하는 방법

TBSTYLE_TOOLTIPS 스타일을 지정하면 도구 모음에서 도구 설명 컨트롤을 만들고 관리합니다. 도구 설명 컨트롤은 숨겨지고 사용자가 도구 모음 단추 위로 포인터를 이동하여 약 1초 동안 그대로 유지할 때만 표시됩니다.

애플리케이션은 다음 방법 중 하나로 도구 설명 컨트롤에 텍스트를 제공할 수 있습니다.

  • 도구 설명 텍스트를 각 단추에 대한 TBBUTTON구조체의 iString 멤버로 설정합니다. 또한 TB_SETMAXTEXTROWS 메시지를 보내고 최대 텍스트 행을 0으로 설정하여 텍스트가 도구 설명이 아닌 단추 레이블로 표시되지 않도록 해야 합니다.
  • TBSTYLE_LIST 스타일로 도구 모음을 만든 다음 TBSTYLE_EX_MIXEDBUTTONS 확장 스타일을 설정합니다. 레이블은 BTNS_SHOWTEXT 스타일이 있는 단추에 대해서만 표시됩니다. 이 스타일이 없는 단추의 경우 단추 텍스트가 포함된 도구 설명이 표시됩니다.
  • TTN_GETDISPINFO 알림 코드에 응답합니다.
  • TBN_GETINFOTIP 알림 코드에 응답합니다.

도구 설명 컨트롤에 직접 메시지를 보내야 하는 애플리케이션은 TB_GETTOOLTIPS 메시지를 사용하여 컨트롤에 대한 핸들을 검색할 수 있습니다. 애플리케이션은 TB_SETTOOLTIPS 메시지를 사용하여 도구 모음의 도구 설명 컨트롤을 다른 도구 설명 컨트롤로 바꿀 수 있습니다.

도구 설명 텍스트를 제공하는 가장 유연한 방법은 도구 모음 컨트롤에서 WM_NOTIFY 메시지 형식으로 그 부모에게 보낸 TTN_GETDISPINFO 또는 TBN_GETINFOTIP 알림 코드에 응답하는 것입니다. TTN_GETDISPINFO의 경우, lParam 매개 변수에는 도움말 텍스트가 필요한 단추의 명령 식별자를 지정하는 NMTTDISPINFO 구조체(LPTOOLTIPTEXT로도 정의됨)에 대한 포인터가 포함됩니다. 이 식별자는 NMTTDISPINFO.hdr.idFrom 멤버에 있습니다. 애플리케이션은 도움말 텍스트를 구조체에 복사하거나, 도움말 텍스트가 포함된 문자열의 주소를 지정하거나, 문자열 리소스의 인스턴스 핸들 및 리소스 식별자를 지정할 수 있습니다.

알아야 하는 작업

기술

필수 구성 요소

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

지침

단추에 대한 도구 설명 표시

다음 예제 코드는 리소스 식별자의 텍스트를 제공하여 TTN_GETDISPINFO 도구 설명 알림 코드를 처리합니다.

case WM_NOTIFY: 
            
    switch (((LPNMHDR) lParam)->code) 
    {
    
    case TTN_GETDISPINFO: 
        { 
            LPTOOLTIPTEXT lpttt = (LPTOOLTIPTEXT)lParam; 
            
            // Set the instance of the module that contains the resource.
            lpttt->hinst = g_hInst; 
            
            UINT_PTR idButton = lpttt->hdr.idFrom;
            
            switch (idButton) 
            { 
            case IDM_NEW: 
                lpttt->lpszText = MAKEINTRESOURCE(IDS_TIPS_NEW); 
                break; 
                
            case IDM_OPEN: 
                lpttt->lpszText = MAKEINTRESOURCE(IDS_TIPS_OPEN); 
                break; 
                
            case IDM_SAVE: 
                lpttt->lpszText = MAKEINTRESOURCE(IDS_TIPS_SAVE); 
                break; 
            } 
            
            break; 
        } 
    }
    return TRUE;

도구 모음 컨트롤 사용

Windows 공용 컨트롤 데모(CppWindowsCommonControls)