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à
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