CMouseManager-klass
Tillåter att en användare associerar olika kommandon med en viss CView- objekt när användaren dubbelklickar i den vyn.
Syntax
class CMouseManager : public CObject
Medlemmar
Offentliga metoder
Namn | Beskrivning |
---|---|
CMouseManager::AddView | Lägger till ett CView objekt i dialogrutan Anpassning. I dialogrutan Anpassning kan användaren associera ett dubbelklick med ett kommando för var och en av de listade vyerna. |
CMouseManager::GetViewDblClickCommand | Returnerar kommandot som körs när användaren dubbelklickar i den angivna vyn. |
CMouseManager::GetViewIconId | Returnerar ikonen som är associerad med det angivna vy-ID:t. |
CMouseManager::GetViewIdByName | Returnerar det vy-ID som är associerat med det angivna visningsnamnet. |
CMouseManager::GetViewNames | Hämtar en lista över alla tillagda visningsnamn. |
CMouseManager::LoadState | Läser in CMouseManager tillstånd från Windows-registret. |
CMouseManager::SaveState | Skriver tillståndet CMouseManager till Windows-registret. |
CMouseManager::SetCommandForDblClk | Associerar det angivna kommandot och den angivna vyn. |
Anmärkningar
Klassen CMouseManager
underhåller en samling CView
objekt. Varje vy identifieras med ett namn och ett ID. Dessa vyer visas i dialogrutan Anpassning. Användaren kan ändra kommandot som är associerat med valfri vy via dialogrutan Anpassning. Det associerade kommandot körs när användaren dubbelklickar i den vyn. Om du vill stödja detta ur ett kodningsperspektiv måste du bearbeta WM_LBUTTONDBLCLK-meddelandet och anropa funktionen CWinAppEx::OnViewDoubleClick i koden för det CView
objektet.
Du bör inte skapa ett CMouseManager
objekt manuellt. Den skapas av ramverket för ditt program. Den förstörs också automatiskt när användaren avslutar programmet. Om du vill få en pekare till mushanteraren för ditt program anropar du CWinAppEx::GetMouseManager.
Arvshierarki
CMouseManager
Krav
Rubrik: afxmousemanager.h
CMouseManager::AddView
Registrerar ett CView-objekt med CMouseManager Class- för att stödja anpassat musbeteende.
BOOL AddView(
int iViewId,
UINT uiViewNameResId,
UINT uiIconId = 0);
BOOL AddView(
int iId,
LPCTSTR lpszViewName,
UINT uiIconId = 0);
Parametrar
iViewId
[i] Ett vy-ID.
uiViewNameResId
[i] Ett resurssträngs-ID som refererar till visningsnamnet.
uiIconId
[i] Ett visningsikon-ID.
iId
[i] Ett vy-ID.
lpszViewName
[i] Ett visningsnamn.
Returvärde
Nonzero om det lyckas; annars 0.
Anmärkningar
För att stödja anpassat musbeteende måste en vy registreras med objektet CMouseManager
. Alla objekt som härleds från klassen CView
kan registreras med mushanteraren. Strängen och ikonen som är associerad med en vy visas på fliken Mus i dialogrutan Anpassa.
Det är programmerarens ansvar att skapa och underhålla vy-ID:er som iViewId och iId.
Mer information om hur du tillhandahåller anpassat musbeteende finns i Anpassning av tangentbord och mus.
Exempel
I följande exempel visas hur du hämtar en pekare till ett CMouseManager
objekt med hjälp av metoden CWinAppEx::GetMouseManager
och metoden AddView
i klassen CMouseManager
. Det här kodfragmentet är en del av State Collection-exemplet.
GetMouseManager()->AddView(IDR_MAINFRAME, _T("My view"), IDR_MAINFRAME);
CMouseManager::GetViewDblClickCommand
Returnerar kommandot som körs när användaren dubbelklickar i den angivna vyn.
UINT GetViewDblClickCommand(int iId) const;
Parametrar
iId
[i] Vy-ID:t.
Returvärde
Kommandoidentifieraren om vyn är associerad med ett kommando. annars 0.
CMouseManager::GetViewIconId
Hämtar ikonen som är associerad med ett visnings-ID.
UINT GetViewIconId(int iViewId) const;
Parametrar
iViewId
[i] Vy-ID:t.
Returvärde
En ikonresursidentifierare om det lyckas. annars 0.
Anmärkningar
Den här metoden misslyckas om vyn inte först registreras med hjälp av CMouseManager::AddView.
CMouseManager::GetViewIdByName
Hämtar det vy-ID som är associerat med ett visningsnamn.
int GetViewIdByName(LPCTSTR lpszName) const;
Parametrar
lpszName
[i] Visningsnamnet.
Returvärde
Ett vy-ID om det lyckas. annars 0.
Anmärkningar
Den här metoden söker igenom vyer som registrerats med hjälp av CMouseManager::AddView.
CMouseManager::GetViewNames
Hämtar en lista över alla registrerade vynamn.
void GetViewNames(CStringList& listOfNames) const;
Parametrar
listOfNames
[ut] En referens till CStringList
objekt.
Anmärkningar
Den här metoden fyller parametern listOfNames
med namnen på alla vyer som registrerats med hjälp av CMouseManager::AddView.
CMouseManager::LoadState
Läser in tillståndet för CMouseManager Class från registret.
BOOL LoadState(LPCTSTR lpszProfileName = NULL);
Parametrar
lpszProfileName
[i] En sökväg till en registernyckel.
Returvärde
Nonzero om det lyckas; annars 0.
Anmärkningar
Tillståndsinformationen som läses in från registret innehåller registrerade vyer, vyidentifierare och tillhörande kommandon. Om parametern lpszProfileName är NULL läser den här funktionen in CMouseManager
data från standardregisterplatsen som styrs av CWinAppEx Class.
I de flesta fall behöver du inte anropa den här funktionen direkt. Den anropas som en del av initieringsprocessen för arbetsytan. Mer information om initieringsprocessen för arbetsytan finns i CWinAppEx::LoadState.
CMouseManager::SaveState
Skriver tillståndet för CMouseManager Class till registret.
BOOL SaveState(LPCTSTR lpszProfileName = NULL);
Parametrar
lpszProfileName
[i] En sökväg till en registernyckel.
Returvärde
Nonzero om det lyckas; annars 0.
Anmärkningar
Tillståndsinformationen som skrivits till registret innehåller alla registrerade vyer, visningsidentifierare och tillhörande kommandon. Om parametern lpszProfileName är NULL skriver den här funktionen CMouseManager
data till den standardregisterplats som styrs av CWinAppEx Class.
I de flesta fall behöver du inte anropa den här funktionen direkt. Det anropas som en del av arbetsytans serialiseringsprocess. Mer information om serialiseringsprocessen för arbetsytor finns i CWinAppEx::SaveState.
CMouseManager::SetCommandForDblClk
Associerar ett anpassat kommando med en vy som först registreras med mushanteraren.
void SetCommandForDblClk(
int iViewId,
UINT uiCmd);
Parametrar
iViewId
[i] Visningsidentifieraren.
uiCmd
[i] Kommandoidentifieraren.
Anmärkningar
För att kunna associera ett anpassat kommando med en vy måste du först registrera vyn med hjälp av CMouseManager::AddView. Metoden AddView
kräver en vyidentifierare som indataparameter. När du registrerar en vy kan du anropa CMouseManager::SetCommandForDblClk
med samma indataparameter för visningsidentifieraren som du angav för AddView
. Därefter, när användaren dubbelklickar på musen i den registrerade vyn, kör programmet kommandot som anges av uiCmd. För att stödja det anpassade musbeteendet måste du också anpassa vyn som registrerats med mushanteraren. Mer information om anpassat musbeteende finns i Anpassning av tangentbord och mus.
Om uiCmd är inställt på 0, är den angivna vyn inte längre associerad med ett kommando.
Se även
hierarkidiagram
klasser
CWinAppEx-klass
anpassning av tangentbord och mus