Megosztás a következőn keresztül:


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

CObject

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