Klasa CMouseManager
Umożliwia użytkownikowi skojarzenie różnych poleceń z określonym obiektem CView , gdy użytkownik kliknie dwukrotnie wewnątrz tego widoku.
Składnia
class CMouseManager : public CObject
Elementy członkowskie
Metody publiczne
Nazwa/nazwisko | opis |
---|---|
CMouseManager::AddView | CView Dodaje obiekt do okna dialogowego Dostosowywanie. Okno dialogowe Dostosowywanie umożliwia użytkownikowi skojarzenie dwukrotnego kliknięcia z poleceniem dla każdego z wymienionych widoków. |
CMouseManager::GetViewDblClickCommand | Zwraca polecenie, które jest wykonywane, gdy użytkownik kliknie dwukrotnie wewnątrz podanego widoku. |
CMouseManager::GetViewIconId | Zwraca ikonę skojarzona z podanym identyfikatorem widoku. |
CMouseManager::GetViewIdByName | Zwraca identyfikator widoku skojarzony z podaną nazwą widoku. |
CMouseManager::GetViewNames | Pobiera listę wszystkich dodanych nazw widoków. |
CMouseManager::LoadState | CMouseManager Ładuje stan z rejestru systemu Windows. |
CMouseManager::SaveState | Zapisuje stan w CMouseManager rejestrze systemu Windows. |
CMouseManager::SetCommandForDblClk | Kojarzy podane polecenie i podany widok. |
Uwagi
Klasa CMouseManager
utrzymuje kolekcję CView
obiektów. Każdy widok jest identyfikowany przez nazwę i identyfikator. Te widoki są wyświetlane w oknie dialogowym Dostosowywanie . Użytkownik może zmienić polecenie skojarzone z dowolnym widokiem za pomocą okna dialogowego Dostosowywanie . Skojarzone polecenie jest wykonywane, gdy użytkownik kliknie dwukrotnie w tym widoku. Aby to umożliwić z perspektywy kodowania, należy przetworzyć komunikat WM_LBUTTONDBLCLK i wywołać funkcję CWinAppEx::OnViewDoubleClick w kodzie tego CView
obiektu.
Nie należy ręcznie tworzyć CMouseManager
obiektu. Zostanie ona utworzona przez strukturę aplikacji. Zostanie ona również zniszczona automatycznie, gdy użytkownik zakończy działanie aplikacji. Aby uzyskać wskaźnik do menedżera myszy dla aplikacji, wywołaj polecenie CWinAppEx::GetMouseManager.
Hierarchia dziedziczenia
CMouseManager
Wymagania
Nagłówek: afxmousemanager.h
CMouseManager::AddView
Rejestruje obiekt CView w klasie CMouseManager w celu obsługi niestandardowego zachowania myszy.
BOOL AddView(
int iViewId,
UINT uiViewNameResId,
UINT uiIconId = 0);
BOOL AddView(
int iId,
LPCTSTR lpszViewName,
UINT uiIconId = 0);
Parametry
iViewId
[in] Identyfikator widoku.
uiViewNameResId
[in] Identyfikator ciągu zasobu, który odwołuje się do nazwy widoku.
uiIconId
[in] Identyfikator ikony widoku.
Identyfikator iId
[in] Identyfikator widoku.
lpszViewName
[in] Nazwa widoku.
Wartość zwracana
Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.
Uwagi
Aby obsługiwać niestandardowe zachowanie myszy, widok musi być zarejestrowany w CMouseManager
obiekcie . Każdy obiekt pochodzący z CView
klasy można zarejestrować za pomocą menedżera myszy. Ciąg i ikona skojarzona z widokiem są wyświetlane na karcie Mysz w oknie dialogowym Dostosowywanie .
Jest to odpowiedzialność programisty za tworzenie i konserwację identyfikatorów widoków, takich jak iViewId i iId.
Aby uzyskać więcej informacji na temat zapewniania niestandardowego zachowania myszy, zobacz Dostosowywanie klawiatury i myszy.
Przykład
W poniższym przykładzie pokazano, jak pobrać wskaźnik do CMouseManager
obiektu przy użyciu CWinAppEx::GetMouseManager
metody i AddView
metody w CMouseManager
klasie. Ten fragment kodu jest częścią przykładu Kolekcji stanów.
GetMouseManager()->AddView(IDR_MAINFRAME, _T("My view"), IDR_MAINFRAME);
CMouseManager::GetViewDblClickCommand
Zwraca polecenie, które jest wykonywane, gdy użytkownik kliknie dwukrotnie wewnątrz podanego widoku.
UINT GetViewDblClickCommand(int iId) const;
Parametry
Identyfikator iId
[in] Identyfikator widoku.
Wartość zwracana
Identyfikator polecenia, jeśli widok jest skojarzony z poleceniem; w przeciwnym razie 0.
CMouseManager::GetViewIconId
Pobiera ikonę skojarzona z identyfikatorem widoku.
UINT GetViewIconId(int iViewId) const;
Parametry
iViewId
[in] Identyfikator widoku.
Wartość zwracana
Identyfikator zasobu ikony, jeśli się powiedzie; w przeciwnym razie 0.
Uwagi
Ta metoda zakończy się niepowodzeniem, jeśli widok nie jest najpierw zarejestrowany przy użyciu narzędzia CMouseManager::AddView.
CMouseManager::GetViewIdByName
Pobiera identyfikator widoku skojarzony z nazwą widoku.
int GetViewIdByName(LPCTSTR lpszName) const;
Parametry
lpszName
[in] Nazwa widoku.
Wartość zwracana
Identyfikator widoku, jeśli przebiegnie pomyślnie; w przeciwnym razie 0.
Uwagi
Ta metoda wyszukuje widoki zarejestrowane przy użyciu narzędzia CMouseManager::AddView.
CMouseManager::GetViewNames
Pobiera listę wszystkich zarejestrowanych nazw widoków.
void GetViewNames(CStringList& listOfNames) const;
Parametry
listOfNames
[out] Odwołanie do CStringList
obiektu.
Uwagi
Ta metoda wypełnia parametr listOfNames
nazwami wszystkich widoków zarejestrowanych przy użyciu narzędzia CMouseManager::AddView.
CMouseManager::LoadState
Ładuje stan klasy CMouseManager z rejestru.
BOOL LoadState(LPCTSTR lpszProfileName = NULL);
Parametry
lpszProfileName
[in] Ścieżka klucza rejestru.
Wartość zwracana
Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.
Uwagi
Informacje o stanie załadowane z rejestru obejmują zarejestrowane widoki, identyfikatory widoku i skojarzone polecenia. Jeśli parametr lpszProfileName ma wartość NULL, ta funkcja ładuje CMouseManager
dane z domyślnej lokalizacji rejestru kontrolowanej przez klasę CWinAppEx.
W większości przypadków nie trzeba bezpośrednio wywoływać tej funkcji. Jest ona nazywana częścią procesu inicjowania obszaru roboczego. Aby uzyskać więcej informacji na temat procesu inicjowania obszaru roboczego, zobacz CWinAppEx::LoadState.
CMouseManager::SaveState
Zapisuje stan klasy CMouseManager w rejestrze.
BOOL SaveState(LPCTSTR lpszProfileName = NULL);
Parametry
lpszProfileName
[in] Ścieżka klucza rejestru.
Wartość zwracana
Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.
Uwagi
Informacje o stanie zapisywane w rejestrze obejmują wszystkie zarejestrowane widoki, identyfikatory widoku i skojarzone polecenia. Jeśli parametr lpszProfileName ma wartość NULL, ta funkcja zapisuje CMouseManager
dane w domyślnej lokalizacji rejestru kontrolowanej przez klasę CWinAppEx.
W większości przypadków nie trzeba bezpośrednio wywoływać tej funkcji. Jest ona nazywana częścią procesu serializacji obszaru roboczego. Aby uzyskać więcej informacji na temat procesu serializacji obszaru roboczego, zobacz CWinAppEx::SaveState.
CMouseManager::SetCommandForDblClk
Kojarzy polecenie niestandardowe z widokiem, który jest najpierw zarejestrowany w menedżerze myszy.
void SetCommandForDblClk(
int iViewId,
UINT uiCmd);
Parametry
iViewId
[in] Identyfikator widoku.
uiCmd
[in] Identyfikator polecenia.
Uwagi
Aby skojarzyć polecenie niestandardowe z widokiem, należy najpierw zarejestrować widok przy użyciu narzędzia CMouseManager::AddView. Metoda AddView
wymaga identyfikatora widoku jako parametru wejściowego. Po zarejestrowaniu widoku można wywołać CMouseManager::SetCommandForDblClk
metodę za pomocą tego samego parametru wejściowego identyfikatora widoku dostarczonego do AddView
elementu . Następnie, gdy użytkownik dwukrotnie kliknie mysz w zarejestrowanym widoku, aplikacja wykona polecenie wskazane przez uiCmd. Aby zapewnić obsługę niestandardowego zachowania myszy, należy również dostosować widok zarejestrowany za pomocą menedżera myszy. Aby uzyskać więcej informacji na temat niestandardowego zachowania myszy, zobacz Dostosowywanie klawiatury i myszy.
Jeśli ustawienie uiCmd ma wartość 0, określony widok nie jest już skojarzony z poleceniem.
Zobacz też
Wykres hierarchii
Klasy
Klasa CWinAppEx
Dostosowywanie klawiatury i myszy