다음을 통해 공유


도구 사용자 정의

MFC 도구 사용자 정의 지원합니다.사용자 정의 도구는 외부 사용자 지정 프로그램을 실행 하는 특수 명령입니다.사용자 지정 프로세스를 사용 하 여 사용자 정의 도구를 관리할 수 있습니다.그러나 응용 프로그램 개체에서 파생 되지 않은 경우이 프로세스를 사용할 수 없습니다 CWinAppEx 클래스.사용자 지정에 대 한 자세한 내용은 참조 하십시오. MFC에 대 한 사용자 지정.

지원 사용자 정의 도구를 사용 하는 경우 사용자 지정 대화 상자를 자동으로 포함 됩니다는 도구 탭.다음 그림과 해당 도구 페이지입니다.

사용자 지정 대화 상자의 도구 탭

사용자 지정 대화 상자의 도구 탭

사용자 정의 사용 하면 지원 도구

호출 응용 프로그램에서 사용자 정의 도구를 사용 하려면 CWinAppEx::EnableUserTools.그러나 먼저 몇 개의 상수가이 호출의 매개 변수로 사용 하 여 응용 프로그램의 리소스 파일에 정의 해야 합니다.

리소스 편집기에서 적절 한 명령 ID를 사용 하 여 더미 명령 만들기다음 예에서는 사용 ID_TOOLS_ENTRY 명령 ID와이 명령은 ID 프레임 워크는 사용자 정의 도구 삽입할 하나 이상의 메뉴에 위치를 표시 합니다.

문자열 테이블에서 해당 사용자 정의 도구를 나타내는 일부 연속 Id를 따로 설정 해야 합니다.최대 사용자 정의할 수 있는 사용자 도구를 따로 설정한 문자열 수가 같습니다.다음 예제에서는 이러한 라고 ID_USER_TOOL1 통해 ID_USER_TOOL10.

사용자 디렉터리와 호출 되는 외부 프로그램에 대 한 인수 도구로 선택 수 있도록 제안을 제공할 수 있습니다.이렇게 하려면 리소스 편집기에서 두 개의 팝업 메뉴를 만듭니다.다음 예제에서는 이러한 라고 IDR_MENU_ARGSIDR_MENU_DIRS.이러한 메뉴의 각 명령에 대 한 해당 응용 프로그램의 문자열 테이블에 문자열을 정의 합니다.문자열 리소스 ID 명령 ID에 동일 해야 합니다.

파생된 클래스를 만들 수도 있습니다 CUserTool 클래스 기본 구현을 바꿀 수 있습니다.이렇게 하려면 RUNTIME_CLASS 대신 Cwinappex::enableusertools에서 네 번째 매개 변수로 파생 된 클래스에 대 한 런타임 정보를 전달 (CUserTool 클래스).

호출 하는 적절 한 상수를 정의한 후 CWinAppEx::EnableUserTools 사용자 정의 도구를 사용 합니다.

다음 메서드 호출은 이러한 상수를 사용 하는 방법을 보여 줍니다.

    EnableUserTools(ID_TOOLS_ENTRY, ID_USER_TOOL1, ID_USER_TOOL10, RUNTIME_CLASS(CUserTool), IDR_MENU_ARGS, IDR_MENU_DIRS);

이 예제에서는 도구 탭에서 포함 됩니다는 사용자 지정 대화 상자.프레임 워크는 명령 ID와 일치 하는 명령을 대체 됩니다 ID_TOOLS_ENTRY 모든 사용자가 해당 메뉴를 열 때마다 현재 정의 된 사용자 도구 집합과 메뉴에서.명령 Id ID_USER_TOOL1 통해 ID_USER_TOOL10 사용자 정의 도구를 사용 하기 위해 예약 되어 있습니다.클래스 CUserTool 클래스 사용자 도구에 대 한 호출을 처리 합니다.도구 탭에는 사용자 지정 대화 상자 단추 메뉴에 액세스 하려면 인수 및 디렉터리 입력 필드의 오른쪽에 있습니다 IDR_MENU_ARGSIDR_MENU_DIRS.프레임 워크가 명령을 이러한 메뉴 중에서 사용자를 선택 하면 적절 한 텍스트 상자에 명령 ID에 동일한 리소스 id 문자열 추가

Cc137832.collapse_all(ko-kr,VS.110).gif미리 정의 된 도구를 포함합니다.

일부 도구는 응용 프로그램 시작 시 미리 정의 하려는 경우 재정의 해야는 CFrameWnd::LoadFrame 메서드를 응용 프로그램의 주 창.해당 메서드에서 다음 단계를 수행 해야 합니다.

Loadframe에서 새로운 도구를 추가 하려면

  1. 대 한 포인터를 CUserToolsManager 클래스 를 호출 하 여 개체 CWinAppEx::GetUserToolsManager.

  2. 원하는 모든 도구를 호출 합니다. CUserToolsManager::CreateNewTool.이에 대 한 포인터를 반환 된 CUserTool 클래스 개체 및 새로 만든된 사용자 도구 도구 내부 컬렉션에 추가 합니다.파생된 클래스에 대 한 런타임 정보를 제공 하는 경우 CUserTool 클래스 의 네 번째 매개 변수로 CWinAppEx::EnableUserTools, CUserToolsManager::CreateNewTool 인스턴스화하고 해당 클래스의 인스턴스 대신 반환 됩니다.

  3. 설정 하 여 각 도구에 대 한 텍스트 레이블을 설정할 CUserTool::m_strLabel 를 호출 하 여 해당 명령을 설정 하 고 CUserTool::SetCommand.기본 구현은 CUserTool 클래스 호출에 지정 된 프로그램에서 사용할 수 있는 아이콘을 자동으로 검색 SetCommand.

참고 항목

참조

CUserTool 클래스

CUserToolsManager 클래스

CWinAppEx 클래스

개념

MFC에 대 한 사용자 지정