단추에 대한 도구 설명을 표시하는 방법
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;
관련 항목