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를 호출합니다.
상속 계층 구조
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::SetCommandForDblClk
할 AddView
수 있습니다. 그 후 사용자가 등록된 보기에서 마우스를 두 번 클릭하면 애플리케이션이 uiCmd로 표시된 명령을 실행합니다. 사용자 지정 마우스 동작을 지원하려면 마우스 관리자에 등록된 보기를 사용자 지정해야 합니다. 사용자 지정 마우스 동작에 대한 자세한 내용은 키보드 및 마우스 사용자 지정을 참조하세요.
uiCmd를 0으로 설정하면 지정된 뷰가 더 이상 명령과 연결되지 않습니다.