다음을 통해 공유


CUserTool 클래스

사용자 도구는 외부 애플리케이션을 실행하는 메뉴 항목입니다. 사용자 지정 대화 상자의 도구 탭(CMFCToolBarsCustomizeDialog 클래스)을 사용하면 사용자가 사용자 도구를 추가하고 각 사용자 도구의 이름, 명령, 인수 및 초기 디렉터리를 지정할 수 있습니다.

구문

class CUserTool : public CObject

멤버

공용 메서드

이름 설명
CUserTool::CopyIconToClipboard
CUserTool::D rawToolIcon 지정된 사각형에 사용자 도구 아이콘을 그립니다.
CUserTool::GetCommand 사용자 도구와 연결된 명령의 텍스트가 들어 있는 문자열을 반환합니다.
CUserTool::GetCommandId 사용자 도구 메뉴 항목의 명령 ID를 반환합니다.
CUserTool::Invoke 사용자 도구와 연결된 명령을 실행합니다.
CUserTool::Serialize 이 개체를 보관 저장소에서 읽어오거나 보관 저장소에 씁니다. ( CObject::Serialize를 재정의합니다.)
CUserTool::SetCommand 사용자 도구와 연결된 명령을 설정합니다.
CUserTool::SetToolIcon 도구와 연결된 애플리케이션에서 사용자 도구의 아이콘을 로드합니다.

보호된 메서드

속성 설명
CUserTool::LoadDefaultIcon 사용자 도구의 기본 아이콘을 로드합니다.

데이터 멤버

속성 설명
CUserTool::m_strArguments 사용자 도구에 대한 명령줄 인수입니다.
CUserTool::m_strInitialDirectory 사용자 도구의 초기 디렉터리입니다.
CUserTool::m_strLabel 도구의 메뉴 항목에 표시되는 도구 이름입니다.

설명

애플리케이션에서 사용자 도구를 사용하도록 설정하는 방법에 대한 자세한 내용은 CUserToolsManager 클래스를 참조하세요.

예시

다음 예제에서는 개체에서 CUserToolsManager 도구를 만들고, 멤버 변수를 m_strLabel 설정하고, 사용자 도구가 실행되는 애플리케이션을 설정하는 방법을 보여 줍니다. 이 코드 조각은 Visual Studio 데모 샘플일부입니다.

// CUserToolsManager* pUserToolsManager
CUserTool* pTool1 = pUserToolsManager->CreateNewTool();
pTool1->m_strLabel = _T("&Notepad");
pTool1->SetCommand(_T("notepad.exe"));

상속 계층 구조

CObject

CUserTool

요구 사항

헤더: afxusertool.h

CUserTool::CopyIconToClipboard

더 자세한 내용은 Visual Studio 설치의 VC\atlmfc\src\mfc 폴더에 있는 소스 코드를 참조하세요.

BOOL CopyIconToClipboard();

Return Value

설명

CUserTool::D rawToolIcon

지정된 사각형의 가운데에 사용자 도구 아이콘을 그립니다.

void DrawToolIcon(
    CDC* pDC,
    const CRect& rectImage);

매개 변수

pDC
[in] 디바이스 컨텍스트에 대한 포인터입니다.

rectImage
[in] 아이콘을 표시할 영역의 좌표를 지정합니다.

CUserTool::GetCommand

사용자 도구와 연결된 명령의 텍스트가 들어 있는 문자열을 반환합니다.

const CString& GetCommand() const;

Return Value

사용자 도구와 연결된 명령의 텍스트가 들어 있는 개체에 대한 참조 CString 입니다.

CUserTool::GetCommandId

사용자 도구의 명령 ID를 반환합니다.

UINT GetCommandId() const;

Return Value

이 사용자 도구의 명령 ID입니다.

CUserTool::Invoke

사용자 도구와 연결된 명령을 실행합니다.

virtual BOOL Invoke();

Return Value

명령이 성공적으로 실행된 경우 0이 아닌 경우 그렇지 않으면 0입니다.

설명

ShellExecute를 호출하여 사용자 도구와 연결된 명령을 실행합니다. 명령이 비어 있거나 ShellExecute가 실패하면 함수가 실패합니다.

CUserTool::LoadDefaultIcon

사용자 도구의 기본 아이콘을 로드합니다.

virtual HICON LoadDefaultIcon();

Return Value

로드된 아이콘(HICON)에 대한 핸들이거나, 기본 아이콘을 로드할 수 없는 경우 NULL입니다.

설명

프레임워크는 도구의 실행 파일에서 사용자 정의 도구의 아이콘을 로드할 수 없는 경우 이 메서드를 호출합니다.

사용자 고유의 기본 도구 아이콘을 제공하려면 이 메서드를 재정의합니다.

CUserTool::m_strArguments

사용자 도구에 대한 명령줄 인수입니다.

CString m_strArguments;

설명

이 문자열은 CUserTool::Invoke를 호출하거나 사용자가 이 도구와 연결된 명령을 클릭할 때 도구에 전달됩니다.

CUserTool::m_strInitialDirectory

사용자 도구의 초기 디렉터리를 지정합니다.

CString m_strInitialDirectory;

설명

이 변수는 CUserTool::Invoke를 호출하거나 사용자가 이 도구와 연결된 명령을 클릭할 때 도구가 실행되는 초기 디렉터리를 지정합니다.

CUserTool::m_strLabel

도구의 메뉴 항목에 표시되는 레이블입니다.

CString m_strLabel;

CUserTool::Serialize

더 자세한 내용은 Visual Studio 설치의 VC\atlmfc\src\mfc 폴더에 있는 소스 코드를 참조하세요.

virtual void Serialize(CArchive& ar);

매개 변수

[in] ar

설명

CUserTool::SetCommand

사용자 도구가 실행되는 애플리케이션을 설정합니다.

void SetCommand(LPCTSTR lpszCmd);

매개 변수

lpszCmd
[in] 사용자 도구와 연결할 새 애플리케이션을 지정합니다.

설명

이 메서드를 호출하여 사용자 도구가 실행되는 새 애플리케이션을 설정합니다. 이 메서드는 이전 아이콘을 삭제하고 지정된 애플리케이션에서 새 아이콘을 로드합니다. 애플리케이션에서 아이콘을 로드할 수 없는 경우 CUserTool::LoadDefaultIcon을 호출하여 사용자 도구의 기본 아이콘을 로드합니다.

CUserTool::SetToolIcon

도구에서 사용하는 애플리케이션에서 사용자 도구의 아이콘을 로드합니다.

virtual HICON SetToolIcon();

Return Value

로드된 아이콘에 대한 핸들입니다.

설명

메뉴 항목에 표시할 아이콘을 로드하려면 이 메서드를 호출합니다. 이 메서드는 도구에서 사용하는 실행 파일의 아이콘을 검색합니다. 기본 아이콘이 없으면 CUserTool::LoadDefaultIcon에서 제공하는 아이콘이 대신 사용됩니다.

참고 항목

계층 구조 차트
클래스
CWinAppEx 클래스
CUserToolsManager 클래스