다음을 통해 공유


IOleInPlaceFrame::SetStatusText 메서드(oleidl.h)

컨테이너의 프레임 창 상태 줄에 있는 현재 위치 개체에 대한 상태 텍스트를 설정하고 표시합니다.

구문

HRESULT SetStatusText(
  [in] LPCOLESTR pszStatusText
);

매개 변수

[in] pszStatusText

표시할 메시지입니다.

반환 값

이 메서드는 성공에 대한 S_OK 반환합니다. 가능한 다른 반환 값은 다음과 같습니다.

반환 코드 설명
S_TRUNCATED
일부 텍스트가 표시되었지만 메시지가 너무 길어 잘렸습니다.
E_FAIL
작업이 실패했습니다.
E_INVALIDARG
지정한 포인터가 잘못되었습니다.
E_UNEXPECTED
예기치 않은 오류가 발생했습니다.

설명

발신자에 대한 참고 사항

컨테이너에 프레임의 상태 줄에 개체 텍스트를 표시하도록 요청해야 하는 경우 IOleInPlaceFrame::SetStatusText를 호출해야 합니다. 컨테이너의 프레임 창은 상태 줄을 소유하므로 IOleInPlaceFrame::SetStatusText를 호출하는 것은 개체가 컨테이너의 프레임 창에 상태 정보를 표시할 수 있는 유일한 방법입니다. 컨테이너가 개체의 요청을 거부하는 경우 개체 애플리케이션은 자체 상태 창을 표시하기 위해 테두리 공간에 대해 협상할 수 있습니다.

컨테이너가 소유한 메뉴와 현재 위치 활성 개체 간에 전환할 때 개체가 컨테이너의 IOleInPlaceFrame::SetStatusText 메서드를 호출하지 않으면 상태 막대 텍스트가 제대로 반영되지 않습니다. 예를 들어 현재 위치 세션 중에 사용자가 파일 메뉴를 선택하는 경우 상태 표시줄은 사용자가 이 메뉴를 선택한 경우 발생하는 작업을 반영합니다. 그런 다음 사용자가 편집 메뉴(현재 위치 개체 소유)를 선택하면 IOleInPlaceFrame::SetStatusText가 호출되지 않는 한 상태 막대 텍스트가 변경되지 않습니다. 컨테이너가 트래핑할 모든 메시지가 개체로 이동하므로 컨테이너가 개체의 메뉴 중 하나가 활성화되었음을 인식할 수 있는 방법이 없기 때문입니다.

구현자에 대한 참고 사항

잠재적인 문제를 방지하려면 개체가 일반적으로 상태 정보를 제공하지 않더라도 모든 개체가 WM_MENUSELECT 메시지를 처리하고 IOleInPlaceFrame::SetStatusText를 호출해야 합니다(이 경우 개체는 요청된 상태 텍스트에 대한 NULL 문자열만 전달할 수 있음).
참고IOleInPlaceFrame::SetStatusText를 실행하는 동안 PeekMessage 또는 GetMessage 함수 또는 대화 상자를 호출하지 마세요. 이렇게 하면 시스템이 교착 상태에 빠질 수 있습니다. IOleInPlaceUIWindow::GetBorder 내에서 OLE 인터페이스 메서드 및 함수를 호출할 수 있는 추가 제한 사항이 있습니다.
 

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 oleidl.h

추가 정보

GetMessage

IOleInPlaceFrame

PeekMessage