CMouseManager osztály
Lehetővé teszi, hogy a felhasználó különböző parancsokat társítson egy adott CView objektumhoz, amikor a felhasználó duplán kattint a nézeten belül.
Szintaxis
class CMouseManager : public CObject
Tagok
Nyilvános metódusok
Név | Leírás |
---|---|
CMouseManager::AddView | Hozzáad egy CView objektumot a Testreszabás párbeszédpanelhez. A Testreszabás párbeszédpanel lehetővé teszi, hogy a felhasználó dupla kattintással társítsa az egyes felsorolt nézetek parancsait. |
CMouseManager::GetViewDblClickCommand | Azt a parancsot adja vissza, amely akkor lesz végrehajtva, amikor a felhasználó duplán kattint a megadott nézetben. |
CMouseManager::GetViewIconId | A megadott nézetazonosítóhoz társított ikont adja vissza. |
CMouseManager::GetViewIdByName | A megadott nézetnévhez társított nézetazonosítót adja vissza. |
CMouseManager::GetViewNames | Lekéri az összes hozzáadott nézetnév listáját. |
CMouseManager::LoadState | Betölti a CMouseManager állapotot a Windows beállításjegyzékéből. |
CMouseManager::SaveState | A CMouseManager állapotot írja a Windows beállításjegyzékbe. |
CMouseManager::SetCommandForDblClk | Társítja a megadott parancsot és a megadott nézetet. |
Megjegyzések
A CMouseManager
osztály CView
objektumgyűjteményt tart fenn. Minden nézetet egy név és egy azonosító azonosít. Ezek a nézetek a Testreszabás párbeszédpanelen jelennek meg. A felhasználó a Testreszabás párbeszédpanelen módosíthatja a nézethez társított parancsot. A társított parancs akkor lesz végrehajtva, amikor a felhasználó duplán kattint a nézetben. Ennek kódolási szempontból való támogatásához fel kell dolgoznia a WM_LBUTTONDBLCLK üzenetet, és meg kell hívnia a CWinAppEx::OnViewDoubleClick függvényt az adott CView
objektum kódjában.
Ne hozzon létre manuálisan CMouseManager
objektumot. Ezt az alkalmazás keretrendszere hozza létre. A rendszer automatikusan megsemmisíti azt is, amikor a felhasználó kilép az alkalmazásból. Ha az alkalmazás egérkezelőjéhez szeretne mutatót kapni, hívja CWinAppEx::GetMouseManager.
Öröklési hierarchia
CMouseManager
Követelmények
fejléc: afxmousemanager.h
CMouseManager::AddView
Regisztrál egy CView objektumot a CMouseManager osztály az egyéni egér viselkedésének támogatásához.
BOOL AddView(
int iViewId,
UINT uiViewNameResId,
UINT uiIconId = 0);
BOOL AddView(
int iId,
LPCTSTR lpszViewName,
UINT uiIconId = 0);
Paraméterek
iViewId
[in] Egy nézetazonosító.
uiViewNameResId
[in] A nézet nevére hivatkozó erőforrás-sztringazonosító.
uiIconId
[in] Egy nézetikon azonosítója.
iId
[in] Egy nézetazonosító.
lpszViewName
[in] Egy nézet neve.
Visszaadott érték
Nonzero, ha sikeres; egyéb esetben 0.
Megjegyzések
Az egyéni egér viselkedésének támogatásához regisztrálni kell egy nézetet a CMouseManager
objektumban. A CView
osztályból származó objektumok regisztrálhatók az egérkezelőben. A nézethez társított sztring és ikon a Testreszabás párbeszédpanel Egér lapján jelenik meg.
A programozó feladata olyan nézetazonosítók létrehozása és karbantartása, mint például iViewId és iId.
További információ az egyéni egér viselkedéséről: Billentyűzet és egér testreszabása.
Példa
Az alábbi példa bemutatja, hogyan lehet mutatót lekérni egy CMouseManager
objektumra a CWinAppEx::GetMouseManager
metódus és a CMouseManager
osztály AddView
metódusával. Ez a kódrészlet a State Collection mintarésze.
GetMouseManager()->AddView(IDR_MAINFRAME, _T("My view"), IDR_MAINFRAME);
CMouseManager::GetViewDblClickCommand
Azt a parancsot adja vissza, amely akkor lesz végrehajtva, amikor a felhasználó duplán kattint a megadott nézetben.
UINT GetViewDblClickCommand(int iId) const;
Paraméterek
iId
[in] A nézet azonosítója.
Visszaadott érték
A parancsazonosító, ha a nézet parancshoz van társítva; egyéb esetben 0.
CMouseManager::GetViewIconId
Lekéri a nézetazonosítóhoz társított ikont.
UINT GetViewIconId(int iViewId) const;
Paraméterek
iViewId
[in] A nézet azonosítója.
Visszaadott érték
Ikonerőforrás-azonosító, ha sikeres; egyéb esetben 0.
Megjegyzések
Ez a metódus sikertelen lesz, ha a nézet nincs először regisztrálva a CMouseManager::AddViewhasználatával.
CMouseManager::GetViewIdByName
Lekéri a nézet nevéhez társított nézetazonosítót.
int GetViewIdByName(LPCTSTR lpszName) const;
Paraméterek
lpszName
[in] A nézet neve.
Visszaadott érték
Egy nézetazonosító, ha sikeres; egyéb esetben 0.
Megjegyzések
Ez a metódus CMouseManager::AddViewhasználatával regisztrált nézetek között keres.
CMouseManager::GetViewNames
Lekéri az összes regisztrált nézetnév listáját.
void GetViewNames(CStringList& listOfNames) const;
Paraméterek
listOfNames
[kifelé] Hivatkozás CStringList
objektumra.
Megjegyzések
Ez a metódus kitölti a listOfNames
paramétert a CMouseManager::AddViewhasználatával regisztrált összes nézet nevével.
CMouseManager::LoadState
Betölti a CMouseManager osztály állapotát a beállításjegyzékből.
BOOL LoadState(LPCTSTR lpszProfileName = NULL);
Paraméterek
lpszProfileName
[in] Egy beállításkulcs elérési útja.
Visszaadott érték
Nonzero, ha sikeres; egyéb esetben 0.
Megjegyzések
A beállításjegyzékből betöltött állapotinformációk tartalmazzák a regisztrált nézeteket, a nézetazonosítókat és a kapcsolódó parancsokat. Ha az lpszProfileName paraméter NULL értékű, ez a függvény betölti a CMouseManager
adatokat a CWinAppEx osztályáltal szabályozott alapértelmezett beállításjegyzék-helyről.
A legtöbb esetben nem kell közvetlenül meghívnia ezt a függvényt. A munkaterület inicializálási folyamatának részeként hívjuk meg. További információ a munkaterület inicializálási folyamatáról: CWinAppEx::LoadState.
CMouseManager::SaveState
A CMouseManager osztály állapotát írja a beállításjegyzékbe.
BOOL SaveState(LPCTSTR lpszProfileName = NULL);
Paraméterek
lpszProfileName
[in] Egy beállításkulcs elérési útja.
Visszaadott érték
Nonzero, ha sikeres; egyéb esetben 0.
Megjegyzések
A beállításjegyzékbe írt állapotinformációk tartalmazzák az összes regisztrált nézetet, nézetazonosítót és a kapcsolódó parancsokat. Ha az lpszProfileName paraméter NULL értékű, ez a függvény a CMouseManager
adatokat a CWinAppEx osztályáltal szabályozott alapértelmezett beállításjegyzék-helyre írja.
A legtöbb esetben nem kell közvetlenül meghívnia ezt a függvényt. A munkaterület szerializálási folyamatának részeként hívjuk meg. További információ a munkaterület szerializálási folyamatáról: CWinAppEx::SaveState.
CMouseManager::SetCommandForDblClk
Egyéni parancsot társít az egérkezelőben először regisztrált nézethez.
void SetCommandForDblClk(
int iViewId,
UINT uiCmd);
Paraméterek
iViewId
[in] A nézet azonosítója.
uiCmd
[in] A parancs azonosítója.
Megjegyzések
Ha egyéni parancsot szeretne társítani egy nézethez, először regisztrálnia kell a nézetet CMouseManager::AddViewhasználatával. A AddView
metódus bemeneti paraméterként egy nézetazonosítót igényel. Miután regisztrált egy nézetet, meghívhatja CMouseManager::SetCommandForDblClk
ugyanazzal a nézetazonosító bemeneti paraméterrel, amelyet a AddView
megadott. Ezután, amikor a felhasználó duplán kattint az egérre a regisztrált nézetben, az alkalmazás végrehajtja az uiCmd által jelzett parancsot. Az egyéni egér viselkedésének támogatásához testre kell szabnia az egérkezelőben regisztrált nézetet is. További információ az egyéni egér viselkedéséről: Billentyűzet és egér testreszabása.
Ha uiCmd 0 értékre van állítva, a megadott nézet már nincs társítva egy paranccsal.
Lásd még:
hierarchiadiagram
osztályok
CWinAppEx osztály
billentyűzet- és egér testreszabási