다음을 통해 공유


CMouseManager 클래스

사용자가 해당 보기 내에서 두 번 클릭할 때 다른 명령을 특정 CView 개체와 연결할 수 있습니다.

구문

class CMouseManager : public CObject

멤버

공용 메서드

이름 설명
CMouseManager::AddView CView 사용자 지정 대화 상자에 개체를 추가합니다. 사용자 지정 대화 상자를 사용하면 나열된 각 보기에 대한 명령과 두 번 클릭을 연결할 수 있습니다.
CMouseManager::GetViewDblClickCommand 사용자가 제공된 보기 내부를 두 번 클릭할 때 실행되는 명령을 반환합니다.
CMouseManager::GetViewIconId 제공된 뷰 ID와 연결된 아이콘을 반환합니다.
CMouseManager::GetViewIdByName 제공된 뷰 이름과 연결된 뷰 ID를 반환합니다.
CMouseManager::GetViewNames 추가된 모든 보기 이름의 목록을 검색합니다.
CMouseManager::LoadState CMouseManager Windows 레지스트리에서 상태를 로드합니다.
CMouseManager::SaveState Windows 레지스트리에 CMouseManager 상태를 씁니다.
CMouseManager::SetCommandForDblClk 제공된 명령과 제공된 뷰를 연결합니다.

설명

클래스는 CMouseManager 개체 컬렉션을 CView 유지 관리합니다. 각 보기는 이름 및 ID로 식별됩니다. 이러한 보기는 사용자 지정 대화 상자에 표시됩니다. 사용자는 사용자 지정 대화 상자를 통해 보기와 연결된 명령을 변경할 수 있습니다. 연결된 명령은 사용자가 해당 보기에서 두 번 클릭할 때 실행됩니다. 코딩 관점에서 이를 지원하려면 WM_LBUTTONDBLCLK 메시지를 처리하고 해당 CView 개체의 코드에서 CWinAppEx::OnViewDoubleClick 함수를 호출해야 합니다.

개체를 CMouseManager 수동으로 만들면 안 됩니다. 애플리케이션의 프레임워크에 의해 만들어집니다. 또한 사용자가 애플리케이션을 종료하면 자동으로 제거됩니다. 애플리케이션의 마우스 관리자에 대한 포인터를 얻으려면 CWinAppEx::GetMouseManager를 호출합니다.

상속 계층 구조

CObject

CMouseManager

요구 사항

헤더: afxmousemanager.h

CMouseManager::AddView

사용자 지정 마우스 동작을 지원하도록 CView 개체를 CMouseManager 클래스 에 등록합니다.

BOOL AddView(
    int iViewId,
    UINT uiViewNameResId,
    UINT uiIconId = 0);

BOOL AddView(
    int iId,
    LPCTSTR lpszViewName,
    UINT uiIconId = 0);

매개 변수

iViewId
[in] 뷰 ID입니다.

uiViewNameResId
[in] 뷰 이름을 참조하는 리소스 문자열 ID입니다.

uiIconId
[in] 보기 아이콘 ID입니다.

iId
[in] 뷰 ID입니다.

lpszViewName
[in] 보기 이름입니다.

Return Value

성공하면 0이 아니고, 그렇지 않으면 0입니다.

설명

사용자 지정 마우스 동작을 지원하려면 뷰를 개체에 CMouseManager 등록해야 합니다. 클래스에서 파생된 모든 개체는 CView 마우스 관리자에 등록할 수 있습니다. 보기와 연결된 문자열 및 아이콘은 사용자 지정 대화 상자의 마우스 탭에 표시됩니다.

iViewId 및 iId와 같은 뷰 ID를 만들고 유지 관리하는 것은 프로그래머의 책임입니다.

사용자 지정 마우스 동작을 제공하는 방법에 대한 자세한 내용은 키보드 및 마우스 사용자 지정을 참조 하세요.

예시

다음 예제에서는 메서드 및 클래스의 메서드 CMouseManager 를 사용 하 여 CWinAppEx::GetMouseManager 개체에 대 한 CMouseManager 포인터를 검색 하는 AddView 방법을 보여 줍니다. 이 코드 조각은 상태 컬렉션 샘플일부입니다.

GetMouseManager()->AddView(IDR_MAINFRAME, _T("My view"), IDR_MAINFRAME);

CMouseManager::GetViewDblClickCommand

사용자가 제공된 보기 내부를 두 번 클릭할 때 실행되는 명령을 반환합니다.

UINT GetViewDblClickCommand(int iId) const;

매개 변수

iId
[in] 진행 보기 ID입니다.

Return Value

뷰가 명령과 연결된 경우 명령 식별자입니다. 그렇지 않으면 0입니다.

CMouseManager::GetViewIconId

뷰 ID와 연결된 아이콘을 검색합니다.

UINT GetViewIconId(int iViewId) const;

매개 변수

iViewId
[in] 진행 보기 ID입니다.

Return Value

성공하면 아이콘 리소스 식별자입니다. 그렇지 않으면 0입니다.

설명

CMouseManager::AddView를 사용하여 뷰를 처음 등록하지 않으면 이 메서드가 실패합니다.

CMouseManager::GetViewIdByName

뷰 이름과 연결된 뷰 ID를 검색합니다.

int GetViewIdByName(LPCTSTR lpszName) const;

매개 변수

lpszName
[in] 뷰 이름입니다.

Return Value

성공한 경우 뷰 ID입니다. 그렇지 않으면 0입니다.

설명

이 메서드는 CMouseManager::AddView를 사용하여 등록된 보기를 검색합니다.

CMouseManager::GetViewNames

등록된 모든 보기 이름의 목록을 검색합니다.

void GetViewNames(CStringList& listOfNames) const;

매개 변수

listOfNames
[out] 개체에 대한 CStringList 참조입니다.

설명

이 메서드는 CMouseManager::AddView를 사용하여 등록된 모든 뷰의 이름으로 매개 변수 listOfNames 를 채웁니다.

CMouseManager::LoadState

레지스트리에서 CMouseManager 클래스상태를 로드합니다.

BOOL LoadState(LPCTSTR lpszProfileName = NULL);

매개 변수

lpszProfileName
[in] 레지스트리 키의 경로입니다.

Return Value

성공하면 0이 아니고, 그렇지 않으면 0입니다.

설명

레지스트리에서 로드된 상태 정보에는 등록된 뷰, 뷰 식별자 및 연결된 명령이 포함됩니다. 매개 변수 lpszProfileName이 NULL이면 이 함수는 CWinAppEx 클래스에 의해 제어되는 기본 레지스트리 위치에서 데이터를 로드 CMouseManager 합니다.

대부분의 경우 이 함수를 직접 호출할 필요가 없습니다. 작업 영역 초기화 프로세스의 일부로 호출됩니다. 작업 영역 초기화 프로세스에 대한 자세한 내용은 CWinAppEx::LoadState를 참조하세요.

CMouseManager::SaveState

CMouseManager 클래스상태를 레지스트리에 씁니다.

BOOL SaveState(LPCTSTR lpszProfileName = NULL);

매개 변수

lpszProfileName
[in] 레지스트리 키의 경로입니다.

Return Value

성공하면 0이 아니고, 그렇지 않으면 0입니다.

설명

레지스트리에 기록된 상태 정보에는 등록된 모든 뷰, 뷰 식별자 및 연결된 명령이 포함됩니다. 매개 변수 lpszProfileName이 NULL이면 이 함수는 CWinAppEx 클래스에서 제어하는 기본 레지스트리 위치에 데이터를 씁니다CMouseManager.

대부분의 경우 이 함수를 직접 호출할 필요가 없습니다. 작업 영역 serialization 프로세스의 일부로 호출됩니다. 작업 영역 serialization 프로세스에 대한 자세한 내용은 CWinAppEx::SaveState를 참조하세요.

CMouseManager::SetCommandForDblClk

사용자 지정 명령을 마우스 관리자에 처음 등록된 보기와 연결합니다.

void SetCommandForDblClk(
    int iViewId,
    UINT uiCmd);

매개 변수

iViewId
[in] 뷰 식별자입니다.

uiCmd
[in] 명령 식별자입니다.

설명

사용자 지정 명령을 뷰와 연결하려면 먼저 CMouseManager::AddView를 사용하여 보기를 등록해야 합니다. 이 메서드에는 AddView 입력 매개 변수로 뷰 식별자가 필요합니다. 보기를 등록한 후에는 제공한 것과 동일한 뷰 식별자 입력 매개 변수를 사용하여 호출 CMouseManager::SetCommandForDblClkAddView수 있습니다. 그 후 사용자가 등록된 보기에서 마우스를 두 번 클릭하면 애플리케이션이 uiCmd로 표시된 명령을 실행합니다. 사용자 지정 마우스 동작을 지원하려면 마우스 관리자에 등록된 보기를 사용자 지정해야 합니다. 사용자 지정 마우스 동작에 대한 자세한 내용은 키보드 및 마우스 사용자 지정을 참조하세요.

uiCmd를 0으로 설정하면 지정된 뷰가 더 이상 명령과 연결되지 않습니다.

참고 항목

계층 구조 차트
클래스
CWinAppEx 클래스
키보드 및 마우스 사용자 지정