CMouseManager-klasse
Hiermee kan een gebruiker verschillende opdrachten koppelen aan een bepaalde CView--object wanneer de gebruiker dubbelklikt in die weergave.
Syntaxis
class CMouseManager : public CObject
Leden
Openbare methoden
Naam | Beschrijving |
---|---|
CMouseManager::AddView- | Hiermee voegt u een CView -object toe aan het dialoogvenster Aanpassing. Met het dialoogvenster Aanpassing kan de gebruiker een dubbelklikken koppelen aan een opdracht voor elk van de vermelde weergaven. |
CMouseManager::GetViewDblClickCommand | Retourneert de opdracht die wordt uitgevoerd wanneer de gebruiker dubbelklikt in de opgegeven weergave. |
CMouseManager::GetViewIconId | Retourneert het pictogram dat is gekoppeld aan de opgegeven weergave-id. |
CMouseManager::GetViewIdByName | Retourneert de weergave-id die is gekoppeld aan de opgegeven weergavenaam. |
CMouseManager::GetViewNames | Hiermee haalt u een lijst met alle toegevoegde weergavenamen op. |
CMouseManager::LoadState | Laadt de CMouseManager status uit het Windows-register. |
CMouseManager::SaveState | Hiermee wordt de CMouseManager status naar het Windows-register geschreven. |
CMouseManager::SetCommandForDblClk | Koppelt de opgegeven opdracht en de opgegeven weergave. |
Opmerkingen
De CMouseManager
klasse onderhoudt een verzameling CView
objecten. Elke weergave wordt geïdentificeerd door een naam en een id. Deze weergaven worden weergegeven in het dialoogvenster Aanpassing. De gebruiker kan de opdracht wijzigen die is gekoppeld aan een weergave via het dialoogvenster Aanpassing. De bijbehorende opdracht wordt uitgevoerd wanneer de gebruiker dubbelklikt in die weergave. Als u dit vanuit een coderingsperspectief wilt ondersteunen, moet u het WM_LBUTTONDBLCLK bericht verwerken en de CWinAppEx::OnViewDoubleClick functie aanroepen in de code voor dat CView
-object.
U moet geen CMouseManager
object handmatig maken. Deze wordt gemaakt door het framework van uw toepassing. Het wordt ook automatisch vernietigd wanneer de gebruiker de toepassing verlaat. Als u de muisbeheerder voor uw toepassing wilt aanwijzen, roept u CWinAppEx::GetMouseManageraan.
Overnamehiërarchie
CMouseManager
Eisen
koptekst: afxmousemanager.h
CMouseManager::AddView
Registreert een CView--object met de CMouseManager Class ter ondersteuning van aangepast muisgedrag.
BOOL AddView(
int iViewId,
UINT uiViewNameResId,
UINT uiIconId = 0);
BOOL AddView(
int iId,
LPCTSTR lpszViewName,
UINT uiIconId = 0);
Parameters
iViewId-
[in] Een weergave-id.
uiViewNameResId-
[in] Een resourcereeks-id die verwijst naar de weergavenaam.
uiIconId
[in] Een weergavepictogram-id.
iId-
[in] Een weergave-id.
lpszViewName
[in] Een weergavenaam.
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Opmerkingen
Als u aangepaste muisgedrag wilt ondersteunen, moet een weergave worden geregistreerd bij het CMouseManager
-object. Elk object dat is afgeleid van de klasse CView
kan worden geregistreerd bij de muisbeheerder. De tekenreeks en het pictogram die aan een weergave zijn gekoppeld, worden weergegeven op het tabblad Muis van het dialoogvenster aanpassen.
Het is de verantwoordelijkheid van de programmeur om weergave-id's zoals iViewId en iIdte maken en te onderhouden.
Zie toetsenbord- en muisaanpassingvoor meer informatie over het bieden van aangepaste muisgedrag.
Voorbeeld
In het volgende voorbeeld ziet u hoe u een aanwijzer naar een CMouseManager
-object ophaalt met behulp van de methode CWinAppEx::GetMouseManager
en de methode AddView
in de klasse CMouseManager
. Dit codefragment maakt deel uit van het state collection-voorbeeld.
GetMouseManager()->AddView(IDR_MAINFRAME, _T("My view"), IDR_MAINFRAME);
CMouseManager::GetViewDblClickCommand
Retourneert de opdracht die wordt uitgevoerd wanneer de gebruiker dubbelklikt in de opgegeven weergave.
UINT GetViewDblClickCommand(int iId) const;
Parameters
iId-
[in] De weergave-id.
Retourwaarde
De opdracht-id als de weergave is gekoppeld aan een opdracht; anders 0.
CMouseManager::GetViewIconId
Hiermee wordt het pictogram opgehaald dat is gekoppeld aan een weergave-id.
UINT GetViewIconId(int iViewId) const;
Parameters
iViewId-
[in] De weergave-id.
Retourwaarde
Een pictogramresource-id als dit lukt; anders 0.
Opmerkingen
Deze methode mislukt als de weergave niet eerst is geregistreerd met behulp van CMouseManager::AddView.
CMouseManager::GetViewIdByName
Hiermee haalt u de weergave-id op die is gekoppeld aan een weergavenaam.
int GetViewIdByName(LPCTSTR lpszName) const;
Parameters
lpszName-
[in] De weergavenaam.
Retourwaarde
Een weergave-id indien geslaagd; anders 0.
Opmerkingen
Met deze methode wordt gezocht naar weergaven die zijn geregistreerd met behulp van CMouseManager::AddView.
CMouseManager::GetViewNames
Hiermee haalt u een lijst met alle geregistreerde weergavenamen op.
void GetViewNames(CStringList& listOfNames) const;
Parameters
listOfNames-
[uit] Een verwijzing naar CStringList
object.
Opmerkingen
Met deze methode wordt de parameter listOfNames
gevuld met de namen van alle weergaven die zijn geregistreerd met behulp van CMouseManager::AddView.
CMouseManager::LoadState
Laadt de status van de CMouseManager-klasse uit het register.
BOOL LoadState(LPCTSTR lpszProfileName = NULL);
Parameters
lpszProfileName
[in] Een pad van een registersleutel.
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Opmerkingen
De statusgegevens die vanuit het register worden geladen, bevatten de geregistreerde weergaven, weergave-id's en de bijbehorende opdrachten. Als de parameter lpszProfileName NULL is, worden met deze functie de CMouseManager
gegevens van de standaardregisterlocatie geladen die wordt beheerd door de CWinAppEx-klasse.
In de meeste gevallen hoeft u deze functie niet rechtstreeks aan te roepen. Het wordt aangeroepen als onderdeel van het initialisatieproces van de werkruimte. Zie CWinAppEx::LoadStatevoor meer informatie over het initialisatieproces van de werkruimte.
CMouseManager::SaveState
Hiermee schrijft u de status van de CMouseManager-klasse naar het register.
BOOL SaveState(LPCTSTR lpszProfileName = NULL);
Parameters
lpszProfileName
[in] Een pad van een registersleutel.
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Opmerkingen
De statusinformatie die naar het register wordt geschreven, bevat alle geregistreerde weergaven, weergave-id's en de bijbehorende opdrachten. Als de parameter lpszProfileName NULL is, schrijft deze functie de CMouseManager
gegevens naar de standaardregisterlocatie die wordt beheerd door de CWinAppEx-klasse.
In de meeste gevallen hoeft u deze functie niet rechtstreeks aan te roepen. Deze wordt aangeroepen als onderdeel van het serialisatieproces van de werkruimte. Zie CWinAppEx::SaveStatevoor meer informatie over het serialisatieproces van de werkruimte.
CMouseManager::SetCommandForDblClk
Hiermee koppelt u een aangepaste opdracht aan een weergave die voor het eerst is geregistreerd bij de muisbeheerder.
void SetCommandForDblClk(
int iViewId,
UINT uiCmd);
Parameters
iViewId-
[in] De weergave-id.
uiCmd-
[in] De opdracht-id.
Opmerkingen
Als u een aangepaste opdracht wilt koppelen aan een weergave, moet u de weergave eerst registreren met behulp van CMouseManager::AddView. De AddView
-methode vereist een weergave-id als invoerparameter. Zodra u een weergave hebt geregistreerd, kunt u CMouseManager::SetCommandForDblClk
aanroepen met dezelfde invoerparameter voor weergave-id's die u hebt opgegeven aan AddView
. Wanneer de gebruiker vervolgens dubbelklikt op de muis in de geregistreerde weergave, voert de toepassing de opdracht uit die wordt aangegeven door uiCmd. Om het aangepaste muisgedrag te ondersteunen, moet u ook de weergave aanpassen die is geregistreerd bij de muisbeheerder. Zie toetsenbord- en muisaanpassingvoor meer informatie over aangepaste muisgedrag.
Als uiCmd- is ingesteld op 0, wordt de opgegeven weergave niet meer gekoppeld aan een opdracht.
Zie ook
Hiërarchiegrafiek
klassen
CWinAppEx-klasse
toetsenbord en muis aanpassen