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 verwaltet 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
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 zu verwalten.
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
[Eingabe] 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
[Eingabe] 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