Dela via


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

CObject

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