CMouseManager-Klasse

Ermöglicht es einem Benutzer, einem bestimmten CView-Objekt unterschiedliche Befehle zuzuordnen, wenn der Benutzer innerhalb dieser Ansicht doppelklippelt.

Syntax

class CMouseManager : public CObject

Member

Öffentliche Methoden

Name Beschreibung
CMouseManager::AddView Fügt dem Dialogfeld "Anpassung" ein CView Objekt hinzu. Im Dialogfeld "Anpassung " kann der Benutzer einen Doppelklick mit einem Befehl für jede der aufgelisteten Ansichten verknüpfen.
CMouseManager::GetViewDblClickCommand Gibt den Befehl zurück, der ausgeführt wird, wenn der Benutzer innerhalb der bereitgestellten Ansicht doppelklicken soll.
CMouseManager::GetViewIconId Gibt das Symbol zurück, das der angegebenen Ansichts-ID zugeordnet ist.
CMouseManager::GetViewIdByName Gibt die Ansichts-ID zurück, die dem angegebenen Ansichtsnamen zugeordnet ist.
CMouseManager::GetViewNames Ruft eine Liste aller hinzugefügten Ansichtsnamen ab.
CMouseManager::LoadState Lädt den CMouseManager Zustand aus der Windows-Registrierung.
CMouseManager::SaveState Schreibt den CMouseManager Status in die Windows-Registrierung.
CMouseManager::SetCommandForDblClk Ordnet den bereitgestellten Befehl und die bereitgestellte Ansicht zu.

Hinweise

Die CMouseManager Klasse Standard enthält eine Auflistung von CView Objekten. Jede Ansicht wird durch einen Namen und eine ID identifiziert. Diese Ansichten werden im Dialogfeld "Anpassung " angezeigt. Der Benutzer kann den Befehl ändern, der einer beliebigen Ansicht über das Dialogfeld "Anpassung " zugeordnet ist. Der zugeordnete Befehl wird ausgeführt, wenn der Benutzer in dieser Ansicht doppelklicken soll. Um dies aus Codierungsperspektive zu unterstützen, müssen Sie die WM_LBUTTONDBLCLK Nachricht verarbeiten und die CWinAppEx::OnViewDoubleClick-Funktion im Code für dieses CView Objekt aufrufen.

Sie sollten ein CMouseManager Objekt nicht manuell erstellen. Sie wird vom Framework Ihrer Anwendung erstellt. Sie wird auch automatisch zerstört, wenn der Benutzer die Anwendung verlässt. Rufen Sie CWinAppEx::GetMouseManager auf, um einen Zeiger auf den Maus-Manager für Ihre Anwendung zu setzen.

Vererbungshierarchie

CObject

CMouseManager

Anforderungen

Header: afxmousemanager.h

CMouseManager::AddView

Registriert ein CView-Objekt mit der CMouseManager-Klasse , um benutzerdefiniertes Mausverhalten zu unterstützen.

BOOL AddView(
    int iViewId,
    UINT uiViewNameResId,
    UINT uiIconId = 0);

BOOL AddView(
    int iId,
    LPCTSTR lpszViewName,
    UINT uiIconId = 0);

Parameter

iViewId
[in] Eine Ansichts-ID.

uiViewNameResId
[in] Eine Ressourcenzeichenfolgen-ID, die auf den Ansichtsnamen verweist.

uiIconId
[in] Eine Ansichtssymbol-ID.

Iid
[in] Eine Ansichts-ID.

lpszViewName
[in] Ein Ansichtsname.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Hinweise

Um das benutzerdefinierte Mausverhalten zu unterstützen, muss eine Ansicht beim CMouseManager Objekt registriert werden. Jedes objekt, das von der CView Klasse abgeleitet ist, kann beim Maus-Manager registriert werden. Die Zeichenfolge und das symbol, das einer Ansicht zugeordnet ist, werden auf der Registerkarte "Maus " des Dialogfelds "Anpassen " angezeigt.

Es liegt in der Verantwortung des Programmierers, Ansichts-IDs wie iViewId und iId zu erstellen und Standard zu speichern.

Weitere Informationen zum Bereitstellen eines benutzerdefinierten Mausverhaltens finden Sie unter Tastatur- und Mausanpassung.

Beispiel

Im folgenden Beispiel wird veranschaulicht, wie ein Zeiger auf ein CMouseManager Objekt mithilfe der CWinAppEx::GetMouseManager Methode und der AddView Methode in der CMouseManager Klasse abgerufen wird. Dieser Codeausschnitt ist Teil des State Collection-Beispiels.

GetMouseManager()->AddView(IDR_MAINFRAME, _T("My view"), IDR_MAINFRAME);

CMouseManager::GetViewDblClickCommand

Gibt den Befehl zurück, der ausgeführt wird, wenn der Benutzer innerhalb der bereitgestellten Ansicht doppelklicken soll.

UINT GetViewDblClickCommand(int iId) const;

Parameter

Iid
[in] Die Ansichts-ID.

Rückgabewert

Der Befehlsbezeichner, wenn die Ansicht einem Befehl zugeordnet ist; andernfalls 0.

CMouseManager::GetViewIconId

Ruft das Symbol ab, das einer Ansichts-ID zugeordnet ist.

UINT GetViewIconId(int iViewId) const;

Parameter

iViewId
[in] Die Ansichts-ID.

Rückgabewert

Ein Symbolressourcenbezeichner bei erfolgreicher Ausführung; andernfalls 0.

Hinweise

Diese Methode schlägt fehl, wenn die Ansicht nicht zuerst mithilfe von CMouseManager::AddView registriert wird.

CMouseManager::GetViewIdByName

Ruft die Ansichts-ID ab, die einem Ansichtsnamen zugeordnet ist.

int GetViewIdByName(LPCTSTR lpszName) const;

Parameter

lpszName
[in] Der Ansichtsname.

Rückgabewert

Eine Ansichts-ID bei erfolgreicher Ausführung; andernfalls 0.

Hinweise

Diese Methode durchsucht ansichten, die mithilfe von CMouseManager::AddView registriert wurden.

CMouseManager::GetViewNames

Ruft eine Liste aller registrierten Ansichtsnamen ab.

void GetViewNames(CStringList& listOfNames) const;

Parameter

listOfNames
[out] Ein Verweis auf CStringList das Objekt.

Hinweise

Diese Methode füllt den Parameter listOfNames mit den Namen aller Ansichten, die mit CMouseManager::AddView registriert sind.

CMouseManager::LoadState

Lädt den Status der CMouseManager-Klasse aus der Registrierung.

BOOL LoadState(LPCTSTR lpszProfileName = NULL);

Parameter

lpszProfileName
[in] Ein Pfad eines Registrierungsschlüssels.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Hinweise

Die aus der Registrierung geladenen Statusinformationen umfassen die registrierten Ansichten, Ansichtsbezeichner und die zugehörigen Befehle. Wenn der Parameter lpszProfileName NULL ist, lädt diese Funktion die CMouseManager Daten vom Standardregistrierungsort, der von der CWinAppEx-Klasse gesteuert wird.

In den meisten Fällen müssen Sie diese Funktion nicht direkt aufrufen. Sie wird als Teil des Arbeitsbereichsinitialisierungsprozesses aufgerufen. Weitere Informationen zum Initialisierungsprozess des Arbeitsbereichs finden Sie unter CWinAppEx::LoadState.

CMouseManager::SaveState

Schreibt den Status der CMouseManager-Klasse in die Registrierung.

BOOL SaveState(LPCTSTR lpszProfileName = NULL);

Parameter

lpszProfileName
[in] Ein Pfad eines Registrierungsschlüssels.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Hinweise

Die in die Registrierung geschriebenen Statusinformationen umfassen alle registrierten Ansichten, Ansichtsbezeichner und die zugehörigen Befehle. Wenn der Parameter lpszProfileName NULL ist, schreibt diese Funktion die CMouseManager Daten in den Standardregistrierungsort, der von der CWinAppEx-Klasse gesteuert wird.

In den meisten Fällen müssen Sie diese Funktion nicht direkt aufrufen. Sie wird als Teil des Arbeitsbereichs serialisierungsprozesses aufgerufen. Weitere Informationen zum Serialisierungsprozess des Arbeitsbereichs finden Sie unter CWinAppEx::SaveState.

CMouseManager::SetCommandForDblClk

Ordnet einen benutzerdefinierten Befehl einer Ansicht zu, die zuerst beim Maus-Manager registriert ist.

void SetCommandForDblClk(
    int iViewId,
    UINT uiCmd);

Parameter

iViewId
[in] Der Ansichtsbezeichner.

uiCmd
[in] Der Befehlsbezeichner.

Hinweise

Um einen benutzerdefinierten Befehl einer Ansicht zuzuordnen, müssen Sie die Ansicht zuerst mithilfe von CMouseManager::AddView registrieren. Für die AddView Methode ist ein Ansichtsbezeichner als Eingabeparameter erforderlich. Nachdem Sie eine Ansicht registriert haben, können Sie denselben Eingabeparameter für den Ansichtsbezeichner aufrufen CMouseManager::SetCommandForDblClk , den Sie angegeben haben AddView. Wenn der Benutzer anschließend in der registrierten Ansicht auf die Maus doppelklicken, führt die Anwendung den von uiCmd angegebenen Befehl aus . Um das benutzerdefinierte Mausverhalten zu unterstützen, müssen Sie auch die ansicht anpassen, die beim Maus-Manager registriert ist. Weitere Informationen zum benutzerdefinierten Mausverhalten finden Sie unter Tastatur- und Mausanpassung.

Wenn uiCmd auf 0 festgelegt ist, wird die angegebene Ansicht nicht mehr einem Befehl zugeordnet.

Siehe auch

Hierarchiediagramm
Klassen
CWinAppEx-Klasse
Anpassen von Tastatur und Maus