Udostępnij za pośrednictwem


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

Obiekt CObject

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 AddViewelementu . 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