Condividi tramite


Classe CMouseManager

Consente a un utente di associare comandi diversi a un particolare oggetto CView quando l'utente fa doppio clic all'interno di tale visualizzazione.

Sintassi

class CMouseManager : public CObject

Membri

Metodi pubblici

Nome Descrizione
CMouseManager::AddView Aggiunge un CView oggetto alla finestra di dialogo Personalizzazione . La finestra di dialogo Personalizzazione consente all'utente di associare un doppio clic a un comando per ognuna delle visualizzazioni elencate.
CMouseManager::GetViewDblClickCommand Restituisce il comando eseguito quando l'utente fa doppio clic all'interno della visualizzazione specificata.
CMouseManager::GetViewIconId Restituisce l'icona associata all'ID visualizzazione specificato.
CMouseManager::GetViewIdByName Restituisce l'ID visualizzazione associato al nome della visualizzazione specificato.
CMouseManager::GetViewNames Recupera un elenco di tutti i nomi di visualizzazione aggiunti.
CMouseManager::LoadState Carica lo CMouseManager stato dal Registro di sistema di Windows.
CMouseManager::SaveState Scrive lo CMouseManager stato nel Registro di sistema di Windows.
CMouseManager::SetCommandForDblClk Associa il comando fornito e la visualizzazione fornita.

Osservazioni:

La CMouseManager classe gestisce una raccolta di CView oggetti . Ogni visualizzazione viene identificata da un nome e da un ID. Queste visualizzazioni vengono visualizzate nella finestra di dialogo Personalizzazione . L'utente può modificare il comando associato a qualsiasi visualizzazione tramite la finestra di dialogo Personalizzazione . Il comando associato viene eseguito quando l'utente fa doppio clic in tale visualizzazione. Per supportare questa operazione dal punto di vista del codice, è necessario elaborare il messaggio di WM_LBUTTONDBLCLK e chiamare la funzione CWinAppEx::OnViewDoubleClick nel codice per tale CView oggetto.

Non è consigliabile creare un CMouseManager oggetto manualmente. Verrà creato dal framework dell'applicazione. Verrà eliminato automaticamente anche quando l'utente esce dall'applicazione. Per ottenere un puntatore al gestore del mouse per l'applicazione, chiamare CWinAppEx::GetMouseManager.

Gerarchia di ereditarietà

CObject

CMouseManager

Requisiti

Intestazione: afxmousemanager.h

CMouseManager::AddView

Registra un oggetto CView con la classe CMouseManager per supportare il comportamento personalizzato del mouse.

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

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

Parametri

iViewId
[in] ID visualizzazione.

uiViewNameResId
[in] ID stringa di risorsa che fa riferimento al nome della vista.

uiIconId
[in] ID icona di visualizzazione.

Iid
[in] ID visualizzazione.

lpszViewName
[in] Nome di visualizzazione.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

Per supportare il comportamento personalizzato del mouse, è necessario registrare una visualizzazione con l'oggetto CMouseManager . Qualsiasi oggetto derivato dalla CView classe può essere registrato con il gestore del mouse. La stringa e l'icona associata a una visualizzazione vengono visualizzate nella scheda Mouse della finestra di dialogo Personalizza .

È responsabilità del programmatore creare e gestire GLI ID di visualizzazione, ad esempio iViewId e iId.

Per altre informazioni su come fornire un comportamento personalizzato del mouse, vedere Personalizzazione della tastiera e del mouse.

Esempio

Nell'esempio seguente viene illustrato come recuperare un puntatore a un CMouseManager oggetto utilizzando il CWinAppEx::GetMouseManager metodo e il AddView metodo nella CMouseManager classe . Questo frammento di codice fa parte dell'esempio di raccolta di stati.

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

CMouseManager::GetViewDblClickCommand

Restituisce il comando eseguito quando l'utente fa doppio clic all'interno della visualizzazione specificata.

UINT GetViewDblClickCommand(int iId) const;

Parametri

Iid
[in] ID visualizzazione.

Valore restituito

Identificatore del comando se la vista è associata a un comando; in caso contrario, 0.

CMouseManager::GetViewIconId

Recupera l'icona associata a un ID visualizzazione.

UINT GetViewIconId(int iViewId) const;

Parametri

iViewId
[in] ID visualizzazione.

Valore restituito

Un identificatore di risorsa icona se ha esito positivo; in caso contrario, 0.

Osservazioni:

Questo metodo avrà esito negativo se la visualizzazione non viene registrata per la prima volta tramite CMouseManager::AddView.

CMouseManager::GetViewIdByName

Recupera l'ID visualizzazione associato a un nome di visualizzazione.

int GetViewIdByName(LPCTSTR lpszName) const;

Parametri

lpszName
[in] Nome della visualizzazione.

Valore restituito

ID di visualizzazione se l'operazione riesce; in caso contrario, 0.

Osservazioni:

Questo metodo esegue la ricerca nelle visualizzazioni registrate usando CMouseManager::AddView.

CMouseManager::GetViewNames

Recupera un elenco di tutti i nomi di visualizzazione registrati.

void GetViewNames(CStringList& listOfNames) const;

Parametri

listOfNames
[out] Riferimento all'oggetto CStringList .

Osservazioni:

Questo metodo riempie il parametro listOfNames con i nomi di tutte le visualizzazioni registrate usando CMouseManager::AddView.

CMouseManager::LoadState

Carica lo stato della classe CMouseManager dal Registro di sistema.

BOOL LoadState(LPCTSTR lpszProfileName = NULL);

Parametri

lpszProfileName
[in] Percorso di una chiave del Registro di sistema.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

Le informazioni sullo stato caricate dal Registro di sistema includono le visualizzazioni registrate, gli identificatori di visualizzazione e i comandi associati. Se il parametro lpszProfileName è NULL, questa funzione carica i CMouseManager dati dal percorso predefinito del Registro di sistema controllato dalla classe CWinAppEx.

Nella maggior parte dei casi, non è necessario chiamare direttamente questa funzione. Viene chiamato come parte del processo di inizializzazione dell'area di lavoro. Per altre informazioni sul processo di inizializzazione dell'area di lavoro, vedere CWinAppEx::LoadState.

CMouseManager::SaveState

Scrive lo stato della classe CMouseManager nel Registro di sistema.

BOOL SaveState(LPCTSTR lpszProfileName = NULL);

Parametri

lpszProfileName
[in] Percorso di una chiave del Registro di sistema.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

Le informazioni sullo stato scritte nel Registro di sistema includono tutte le visualizzazioni registrate, gli identificatori di visualizzazione e i comandi associati. Se il parametro lpszProfileName è NULL, questa funzione scrive i CMouseManager dati nel percorso predefinito del Registro di sistema controllato dalla classe CWinAppEx.

Nella maggior parte dei casi, non è necessario chiamare direttamente questa funzione. Viene chiamato come parte del processo di serializzazione dell'area di lavoro. Per altre informazioni sul processo di serializzazione dell'area di lavoro, vedere CWinAppEx::SaveState.

CMouseManager::SetCommandForDblClk

Associa un comando personalizzato a una visualizzazione registrata per la prima volta con il gestore del mouse.

void SetCommandForDblClk(
    int iViewId,
    UINT uiCmd);

Parametri

iViewId
[in] Identificatore di visualizzazione.

uiCmd
[in] Identificatore del comando.

Osservazioni:

Per associare un comando personalizzato a una visualizzazione, è prima necessario registrare la visualizzazione usando CMouseManager::AddView. Il AddView metodo richiede un identificatore di visualizzazione come parametro di input. Dopo aver registrato una visualizzazione, è possibile chiamare CMouseManager::SetCommandForDblClk con lo stesso parametro di input dell'identificatore di visualizzazione fornito a AddView. Successivamente, quando l'utente fa doppio clic sul mouse nella visualizzazione registrata, l'applicazione eseguirà il comando indicato da uiCmd. Per supportare il comportamento personalizzato del mouse, è anche necessario personalizzare la visualizzazione registrata con il gestore del mouse. Per altre informazioni sul comportamento personalizzato del mouse, vedere Personalizzazione della tastiera e del mouse.

Se uiCmd è impostato su 0, la visualizzazione specificata non è più associata a un comando.

Vedi anche

Grafico della gerarchia
Classi
Classe CWinAppEx
Personalizzazione di tastiera e mouse