Domanda

Esiste un elenco di eventi / notifiche C ++ e amp; Elenco dei metodi di gestione predefiniti. Ad esempio, sarebbe utile sapere che per impostazione predefinita, la notifica HDN_DIVIDERDBLCLICK è normalmente gestita dal metodo CWnd :: OnLButtonDblClk.

Ciò semplificherebbe la ricerca del metodo corretto quando si desidera chiamarlo quando si scrive il proprio gestore per la notifica.

Attualmente non riesco a trovare alcun modo semplice per trovare queste informazioni.

Grazie.

È stato utile?

Soluzione

Questa pagina negli elenchi MSDN i messaggi WM_XXX e le firme dei metodi del gestore corrispondenti.

Per i messaggi di notifica emessi dai controlli, ti consigliamo di consultare la pagina della documentazione per il controllo. Quindi, ad esempio, la documentazione per HDN_DIVIDERDBLCLICK è sul pagina di riferimento per CHeaderCtrl (vedi anche questa pagina che afferma brevemente che sono gestiti dalla funzione del gestore OnChildNotify).

Altri suggerimenti

Temo che il problema potrebbe essere che non esiste un grafico completo degli attuali gestori per un'applicazione, nei dati, che PUOI interrogare.

Non so se è stata modificata l'implementazione sottostante negli ultimi due anni, ma in precedenza MFC aveva le assegnazioni del gestore dei messaggi codificate in array di dati statici.

Dalle matrici di base, passerebbe il messaggio al metodo del codice utente appropriato.

Tuttavia, a questo punto, il metodo del codice utente potrebbe elaborare o passare ad altro codice per l'elaborazione del messaggio.

Allo stesso modo, le applicazioni possono definire l'intera struttura di controllo per questo in-code.

Anche le funzioni iniettate o altri cambiamenti sistemici possono alterare questo comportamento (pensa ai gestori di tasti di scelta rapida, quel tipo di cose).

Sarebbe bello sapere che qualcuno con una conoscenza più recente sia a conoscenza di un po 'di MFC-fu.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top